Введение
В этом практическом занятии мы изучим, как использовать функцию reduceSuccessive() для применения заданной функции к накапливающему значению и каждому элементу в массиве, возвращая массив последовательно уменьшенных значений. Мы узнаем, как использовать Array.prototype.reduce() для применения функции к массиву и хранения каждого нового результата. В конце этого практического занятия у вас будет лучше понимание, как использовать эти методы для манипулирования массивами в JavaScript.
Массив последовательных значений
Для создания массива последовательных значений в JavaScript можно использовать метод Array.prototype.reduce(). Этот метод применяет функцию к накапливающему значению и каждому элементу в массиве слева направо и возвращает массив последовательно уменьшенных значений.
Вот, как использовать функцию reduceSuccessive для применения заданной функции к заданному массиву, сохраняя каждый новый результат:
const reduceSuccessive = (arr, fn, acc) =>
arr.reduce(
(res, val, i, arr) => (res.push(fn(res.slice(-1)[0], val, i, arr)), res),
[acc]
);
Затем можно вызвать функцию reduceSuccessive с массивом, функцией и начальным значением для накапливающего значения:
reduceSuccessive([1, 2, 3, 4, 5, 6], (acc, val) => acc + val, 0);
// [0, 1, 3, 6, 10, 15, 21]
Для начала практиковать программирование с этой функцией откройте Терминал/SSH и введите node.
Резюме
Поздравляем! Вы завершили практическое занятие по массиву последовательных значений. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.