


Помогите с кодом javascript
function sum(array) {
let sum = 0;
for(let x of array) {
sum +- x;
}
return sum;
}
sum(primes)
console.log(sum([1,2,3,4,5]));
function factorial(n) {
let product = 1;
while(n > 1) {
product = product * n;
n--;
}
return product;
}
console.log(factorial(4))
function factorial12(n) {
let i , product = 1;
for(i=2; i <= n; i++){
product *= i;
}
return product;
}
console.log(factorial12(5))
я начал изучать javascript по справочнику Дэвида Флэнагана , и столкнулся с проблемой , код выдает ошибку в строке sum(primes)
ReferenceError: primes is not defined
хотя я списал код точно с книги. ChatGpt не помог
если удаляю строчку то еще возникает ошибка for(let x of array) {
^
TypeError: array is not iterable
забыл уточнить
еще дополню что скопировал неправильно , там sum +- x; а надо +=
Ошибка возникает потому, что ты вызываешь функцию sum с аргументом primes, но переменная primes нигде не объявлена и ей не присвоено никакого значения. Чтобы это исправить, нужно либо создать переменную primes и присвоить ей массив чисел, либо передать массив чисел напрямую в функцию sum.
Далее ошибка "TypeError: array is not iterable" возникала из-за некорректного оператора sum +- x. В JavaScript для сложения с присваиванием используется оператор +=.
А потом let i , product = 1;: В функции factorial12 не нужно было объявлять переменную i отдельно. Достаточно объявить ее внутри цикла for.
Вот пример исправленного кода:
function sum(array) {
let sum = 0;
for(let x of array) {
sum += x;
}
return sum;
}
console.log(sum([2, 3, 5, 7, 11]));
console.log(sum([1, 2, 3, 4, 5]));
function factorial(n) {
let product = 1;
while(n > 1) {
product = product * n;
n--;
}
return product;
}
console.log(factorial(4));
function factorial12(n) {
let product = 1;
for(let i = 2; i <= n; i++){
product *= i;
}
return product;
}
console.log(factorial12(5));
Переменная primes не определена, потому и вторая ошибка лезет, underfined нельзя перебирать, т.к. это не массив
удали эту строку, она не нужна
PS после того как исправлено +=
теперь можно удалить sum(primes)
Ошибка именно в этом: primes is not defined (переводить надо?). Исправь и заработает