效果,实现代码reduce效果
function reduce(arr,fn,initValue){
var arrNew = (initValue !== undefined?[initValue].concat(arr):arr.concat([]))
while (arrNew.length > 1){
arrNew.splice(0,2,fn(arrNew[0],arrNew[1]));
}
return arrNew[0]
}
var arr = [1,2,3,4,5,6,7,8,9];
var result= reduce(arr,function(v1,v2){
return v1 +v2 //函数运算方式
},100)
console.log(result)
效果实现一个flatten函数,将一个嵌套多层的数组 array(数组) (嵌套可以是任何层数)转换为只有一层的数组,数组中元素仅基本类型的元素或数组,不存在循环引用的情况。
flatten([1, [2], [3, [[4]]]]) => [1, 2, 3, 4];
网友评论