js习题练习

效果,实现代码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];

你可能感兴趣的:(js习题练习)