0

我希望能够将数组名称传递给对数组的所有值求和的函数。但是,我无法像使用对象那样使用括号表示法。

更新:根据下面的评论,我现在意识到我可以简单地传递数组,而不是将其名称作为字符串传递。这是一个工作示例:

function sum(array) {
    const reducer = (accumulator, currentValue) => accumulator + currentValue;
    var x = array.reduce(reducer, 0);
    return x;
}

const arrayA = [1, 2, 3, 4];
const arrayB = [1, 2];

var x = sum(arrayA);
var y = sum(arrayB);

console.log('= ' + x);
console.log('= ' + y);

以下是我原始问题的示例。

这是显示我想使用的语法的无效代码:

function sum(array) {
    const reducer = (accumulator, currentValue) => accumulator + currentValue;
    var x = [array].reduce(reducer, 0); // bracket notation, but doesn't seem to work
    return x;
}

const array = [1, 2, 3, 4];

var x = sum('array'); // should = 10

console.log('= ' + x);

这是一个没有将数组名称作为参数传递的 reduce 函数的工作版本(因此,不适合我的需要)。

function sum() {
    const reducer = (accumulator, currentValue) => accumulator + currentValue;
    var x = array.reduce(reducer, 0);
    return x;
}

const array = [1, 2, 3, 4];

var x = sum();

console.log('= ' + x);

4

0 回答 0