Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting

Как выполнить подсчет суммы положительных чисел?

Приветствую!

Выполняю подсчет положительных чисел с помощью метода reduce():
var array = [0, 1, 2, 3, -1];
var result = array.reduce(function(accumulator, element, index, array) {
    if(element >= 0) return accumulator + element;
    else return accumulator;
});
console.log(result); // 6


Перемещаем -1 в начало массива и получаем уже другой результат на выходе:
var array = [-1, 0, 1, 2, 3];
var result = array.reduce(function(accumulator, element, index, array) {
    if(element >= 0) return accumulator + element;
    else return accumulator;
});
console.log(result); // 5


В чем проблема и как правильно ее решить?
Спасибо!
  • Вопрос задан
  • 101 просмотр
Решения вопроса 2
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
const array = [-1, 0, 1, -5, 2, 3];

const result = array.reduce((acc, currentNumber) => {
  if(currentNumber >= 0) {
    return acc + currentNumber;
  }
  return acc;
}, 0);
Ответ написан
Комментировать
@dGololobov
начинающий
let result = array.reduce((acc, elem) => (elem > 0) ? acc + elem : acc, 0)


В общем добавьте стартовое значение аккумулятора = 0 перед закрывающей скобкой редьюса
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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