简介
在本实验中,我们将探索如何使用 reduceSuccessive() 函数,将给定函数应用于累加器和数组中的每个元素,返回一个连续缩减值的数组。我们将学习如何使用 Array.prototype.reduce() 将函数应用于数组,并存储每个新结果。完成本实验后,你将更好地理解如何使用这些方法在 JavaScript 中操作数组。
在本实验中,我们将探索如何使用 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 中练习更多实验来提升你的技能。