Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 了解Array.reduce()和作用域_Javascript_Arrays - Fatal编程技术网

Javascript 了解Array.reduce()和作用域

Javascript 了解Array.reduce()和作用域,javascript,arrays,Javascript,Arrays,我正在尝试使用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, ful

我正在尝试使用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

为什么第一个结果没有定义?

呵呵,我以前做过这个。。。您必须从
添加

function add(arr) {
    return arr.reduce(function(prev, curr, i, fullArr) {
        return prev + curr;
    });
}

console.log(add(test)); // => logs 21

@ConnorLeech没有返回任何函数
add
返回
arr.reduce
的结果,这在您的案例中是一个数字,不是我的意思。时间还早。我会在4分钟内接受你的回答