
Разбираемся как работает array.reduce()
Он принимает колбэк для обработки и инитное значение
Итерация 1
sum = инитное значение = 0
item = первый элемент = 1
sum + item = 1 - запоминаем
Итерация 2
sum = то что запомнили = 1
item = второй элемент = 2
sum + item = 3 - запоминаем
Итерация 3
sum = то что запомнили = 3
item = третий элемент = 3
sum + item = 6 - запоминаем
элементы закончились возвращаем то что запомнили - 6
таким образом array.reduce((sum, item) => sum + item, 0) - суммирует все элементы массива
в статье пример аналогичного разворачивания массива
Он принимает колбэк для обработки и инитное значение
[1, 2, 3].reduce((sum, item) => sum + item, 0)
Итерация 1
sum = инитное значение = 0
item = первый элемент = 1
sum + item = 1 - запоминаем
Итерация 2
sum = то что запомнили = 1
item = второй элемент = 2
sum + item = 3 - запоминаем
Итерация 3
sum = то что запомнили = 3
item = третий элемент = 3
sum + item = 6 - запоминаем
элементы закончились возвращаем то что запомнили - 6
таким образом array.reduce((sum, item) => sum + item, 0) - суммирует все элементы массива
в статье пример аналогичного разворачивания массива