Как с помощью reduce посчитать сумму положительных и отрицательных чисел в массиве
Как написать функцию, которая бы принимала массив целых чисел (положительные, отрицательные и 0), а на выходе отдавала массив с суммой всех положительных чисел и суммой всех отрицательных чисел ? С использованием reduce Пример: [ 0, 1, 0, -6, 2, 3, -2, 0, -3, -4 ] -> [ -15, 6 ]
Ответы (2 шт):
Автор решения: UModeL
→ Ссылка
Передайте в качестве начального значения массив с нулями, а далее суммируйте с нужным элементом на основе условий:
let arr = [0, 1, 0, -6, 2, 3, -2, 0, -3, -4].reduce(
(a, c) => {
if (c < 0) a[0] = a[0] + c;
if (c > 0) a[1] = a[1] + c;
return a;
},
[0, 0]
);
console.log(arr);
Автор решения: Pavel Nazarian
→ Ссылка
let arr = [ 0, 1, 0, -6, 2, 3, -2, 0, -3, -4 ];
let new_arr = arr.reduce((a,c) => {
a[+(c>0)] += c;
return a;
},[0,0])
console.log(new_arr);