Ответ 1
Причина уже известна. Вот альтернатива - использование Array.reduce
для вашего метода:
[1, 2, 3].reduce( (a,b) => a * b ); //=> 6
Я не мог найти здесь пример того, что я действительно ищу. Я хотел бы умножить все элементы массива, поэтому, если массив содержит [1,2,3], сумма будет 1 * 2 * 3 = 6; Пока у меня есть этот код, но он возвращает undefined.
function multiply (array) {
var sum=1;
for (var i=0; i<array.length; i++) {
sum = sum * array[i];
}
return sum;
}
console.log(multiply[1,2,3]);
Здесь сэр, вы забыли добавить переменную массива! Функция выполняет функцию переменной, поэтому:
function multiply (array) {
var sum = 1;
for (var i = 0; i < array.length; i++) {
sum = sum + array[i]:
}
return sum;
}
console.log(multiply(array));
Причина уже известна. Вот альтернатива - использование Array.reduce
для вашего метода:
[1, 2, 3].reduce( (a,b) => a * b ); //=> 6
Вы должны иметь ()
при вызове функции.
Подобно multiply([1,2,3])
Демо здесь
Вы не вызываете умножение как функцию:
multiply([1,2,3]);
Если вы хотите умножить несколько последовательных чисел, таких как 1,2,3, то примените этот код и введите число в консоли (обр)
let array = [];
function factorisation(arr) {
for (let j = arr; j > 0; j--) {
array.push(j);
}
return multiply();
}
function multiply() {
var sum = 1;
for (var i = 0; i < array.length; i++) {
sum = sum * array[i];
}
return sum;
}
console.log(factorisation(5));
//5*4*3*2*1 = 120