我正在尝试使用array.reduce添加数组。如果我将我的代码封装在一个函数中,它会破坏:
var test = [1,2,3,4,5,6];
function add(arr){
arr.reduce(function(prev, curr, i, fullArr){
return prev + curr
})
}
var result = add(test)
var result2 = arr.reduce(function(prev, curr, i, fullArr){
return prev + curr
})
console.log(result) // undefined
console.log(result2) // works, 21
为什么第一个结果未定义?
答案 0 :(得分:2)
呵呵,我之前做过这个......你必须return
来自add
function add(arr) {
return arr.reduce(function(prev, curr, i, fullArr) {
return prev + curr;
});
}
console.log(add(test)); // => logs 21