#javascript #arrays
#javascript #массивы
Вопрос:
Я довольно новичок в использовании .reduce(), и мне интересно, как лучше всего найти сумму всех чисел внутри myArr .
const myArr = [ [ 10, 0 ], [ 10, 0 ], [ 2, 4 ], [ 2, 4 ] ]
Комментарии:
1. каков ваш ожидаемый результат?
2. ожидаемый результат должен быть 32
Ответ №1:
Вы могли flat
бы разделить массив на десять, а затем суммировать
const myArr = [
[10, 0],
[10, 0],
[2, 4],
[2, 4]
]
console.log(
myArr.flat().reduce((acc, curr) => acc curr, 0)
)
Комментарии:
1. Также можно использовать
[].concat.apply([], myArr)
вместоArray#flat
для поддержки es5
Ответ №2:
Вероятно, лучшим решением является то, что предлагает Tibebes. Я уже предлагал, но вот еще два:
myArr.reduce((acc, curr) => acc curr[0] curr[1], 0)
и
myArr.reduce((acc, curr) => acc curr.reduce((innerAcc, innerCurr) => innerAcc innerCurr, 0), 0)