Дан массив с числами. Найдите отдельно сумму положительных и отрицательных элементов массива. Выведите суммы на экран

Рейтинг: 0Ответов: 1Опубликовано: 12.03.2023

Я написал этот код:

let arr = [2, -5, 9, -15, 1, 4];
let result = 0;
for (let i = 0; i < arr.length; i++){
    if (arr[i] < 0){
      continue
    }
    else if(arr[i] > 0){
        result += arr[i]
    }
}
console.log(result); 

Но выводит только 16, а мне надо положительные и отрицательные числа!((

Какие коды добавить, чтобы они нашли положительные и отрицательные числа?

Ответы

▲ 1Принят

Допустим положив сумму в массив

let arr = [2, -5, 9, -15, 1, 4];
let result = [0, 0];
for (let i = 0; i < arr.length; i++){
    if (arr[i] < 0){
        result[0] += arr[i]
    }
    else {
        result[1] += arr[i]
    }
}
console.log(result); 

Не нравится, массив, сделайте 2 переменные

Можно воспользоваться встроенным методом массивов для получения агрегатов массива:

let arr = [2, -5, 9, -15, 1, 4];
const summ = arr.reduce((acc, it) => {
    it < 0 ? acc[0] += it : acc[1] += it;
    return acc;
}, [0, 0]);

console.log(summ)