@be_a_man

Как решить с помощью Reduce?

const arr = [[15], [25], [5], [20]].sort((a,b) => a[0]-b[0]).reduce(...)
// => [[0,5], [5, 20], [20, 40], [40, 65]]
  • Вопрос задан
  • 148 просмотров
Решения вопроса 2
hzzzzl
@hzzzzl
arr.reduce((acc, curr, i) => {
  const prev = i > 0 ? acc[i-1][1] : 0
  return [...acc, [prev, curr[0] + prev]]
}, [])
Ответ написан
Комментировать
0xD34F
@0xD34F Куратор тега JavaScript
const result = [...arr]
  .sort((a, b) => a - b)
  .reduce((acc, n) => (acc[1].push([ acc[0], acc[0] += +n ]), acc), [ 0, [] ])
  .pop();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы