Как передать имя массива в качестве параметра, чтобы уменьшить (добавить) функцию?
Я хочу иметь возможность передать имя массива в функцию, которая суммирует все значения массива. Тем не менее, я не могу заставить эту работу работать с скобками, как с объектом.
ОБНОВЛЕНИЕ: Основываясь на комментариях ниже, я теперь понимаю, что могу просто передать массив вместо того, чтобы передавать его имя в виде строки. Вот рабочий пример:
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);