Mike_Ro
@Mike_Ro
Войти в АйТи...

В чем ошибка в методе reduce()?

Приветствую!
Получил массив, отфильтровал и сложил все положительные элементы массива. Но все равно выводит 4, когда должно 6. В чем ошибка?

Спасибо!

let array = [-2, 0, 1, 2, 3];
let result = array.reduce(function(sum, element, index, thisArray) {
	if(element >= 0) {
		return sum + element;
	} else {
		return sum;
	}
});
console.log(result); // 4
  • Вопрос задан
  • 48 просмотров
Решения вопроса 2
RAX7
@RAX7
Начальное значение для суммы не указал
let array = [-2, 0, 1, 2, 3];
let result = array.reduce(function(sum, element, index, thisArray) {
  if(element >= 0) {
    return sum + element;
  } else {
    return sum;
  }
}, 0);
console.log(result); // 6
Ответ написан
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Последним аргументом у reduce иде стартовое значение sum, если оно не установлено, то берется нулевой элемент массива, и итерация начинается с первого. Поставите там ноль.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы