Как передать имя массива в качестве параметра, чтобы уменьшить (добавить) функцию?

Я хочу иметь возможность передать имя массива в функцию, которая суммирует все значения массива. Тем не менее, я не могу заставить эту работу работать с скобками, как с объектом.

ОБНОВЛЕНИЕ: Основываясь на комментариях ниже, я теперь понимаю, что могу просто передать массив вместо того, чтобы передавать его имя в виде строки. Вот рабочий пример:

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);

0 ответов

Другие вопросы по тегам