Проверяет знание сигнатуры метода reduce у массивов и понимание того, что должен возвращать callback на каждой итерации.
Метод reduce у массивов JavaScript используется для последовательной обработки элементов массива с накоплением результата. Его сигнатура выглядит так:
arr.reduce(callback(accumulator, currentValue, index, array), initialValue)Первый аргумент — функция обратного вызова, которая вызывается для каждого элемента массива. Второй аргумент — необязательное начальное значение аккумулятора. Если оно не передано, в качестве аккумулятора используется первый элемент массива, а обработка начинается со второго элемента.
На каждой итерации callback должен возвращать новое значение аккумулятора. Это значение будет передано в следующий вызов callback как первый аргумент. После обработки всех элементов reduce возвращает финальное значение аккумулятора. Если массив пуст и начальное значение не указано, будет выброшена ошибка TypeError.
const numbers = [1, 2, 3, 4];
const sum = numbers.reduce((acc, current) => acc + current, 0);
console.log(sum); // 10Здесь начальное значение 0, на каждой итерации к аккумулятору прибавляется текущий элемент, и в конце получаем сумму всех чисел.
Метод reduce полезен для агрегации данных, например, для вычисления суммы, произведения, построения объектов или группировки элементов. Важно всегда возвращать аккумулятор из callback, иначе результат будет некорректным.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию