Слово «reduce» в английском языке означает :
уменьшать в размере, количестве, степени или числе.
Предположим, что у нас есть массив элементов.
const cartItems = [1,3,5,7,9];
Мне нужна сумма всех элементов.
Я мог бы использовать цикл For, но это будет не очень удобно. Метод reduce()
даст нам одно общее число с меньшим количеством кода (всегда выбирайте вариант с меньшим количеством кода).
reduce() принимает два аргумента: функцию обратного вызова (сам редуктор) и начальное значение. Функция обратного вызова принимает два аргумента: предыдущее значение и текущее значение:
let total = cartItems.reduce((previousValue, currentValue) => {
return previousValue + currentValue;
}, 0)
Давайте вычислим первый поворот массива.
previousValue
будет равно 0, а currentValue
будет равно первому элементу массива, то есть 1.
Далее, previousValue
будет равно 1, а currentValue
будет равно 3 и так далее. Общая сумма будет равна сумме всех чисел: 25
Помните, что начальное значение Value совершенно необязательно. Если оно опущено, в качестве начального значения используется первое значение массива.
Примечание: обратной стороной метода reduce()
является reduceRight()
. Да! Он перебирает элементы справа налево.
Дамы и господа, это было краткое руководство по методу reduce().
Не забывайте практиковаться.
Спасибо.