Как работают аргументы функции reduce()?
Снизу вы увидите пример обыкновенной функции, которая описана с помощью метода reduce(). Объясните пожалуйста как она работает, как она записывает данные в переменную. Не могу разобраться.
const composition = [1, 2, 3, 4, 5].reduce((acc, curItem, curIndex) => {
console.log(curIndex + ": " + curItem + ", currentValue: " + acc);
return acc * curItem;
}, 1);
//Вывод
0: 1, currentValue: 1// (здесь начальное значение 1,которое мы задали после функции,
//умножается на первый элемент равный 1.
1: 2, currentValue: 1
2: 3, currentValue: 2
3: 4, currentValue: 6
4: 5, currentValue: 24