Array.reduce()方法介绍与使用

Array.reduce() 是 JavaScript 数组的一个高阶函数,用于对数组中的每个元素进行累积计算并返回最终结果。

该方法接受两个参数:回调函数和初始值。回调函数会在数组的每个元素上调用,并接收四个参数:累积值(也称为累加器),当前元素值,当前索引和原始数组。

const numbers = [1, 2, 3, 4, 5];

const sum = numbers.reduce((accumulator, currentValue) => {
  return accumulator + currentValue;
}, 0);

console.log(sum); // 输出:15
  1. 回调函数(callback function):这个函数非常重要,它定义了在每个数组元素上执行的操作。你可以给它起一个名字,比如 callback,然后在函数体内编写你的逻辑。这个函数接收四个参数:

    • 累积值(accumulator):它代表当前的累积值,也可以理解为累加器。在每次迭代时,这个值会根据你的逻辑进行更新。
    • 当前元素值(currentValue):它表示当前正在处理的数组元素的值。你可以使用它来进行计算或者进行其他操作。
    • 当前索引(currentIndex):它表示当前正在处理的数组元素的索引。如果你需要根据索引来做一些特定的操作,可以使用它。
    • 原始数组(array):它是你正在操作的原始数组。如果你需要引用原始数组中的其他元素,可以使用它。
  2. 初始值(initial value):这是 reduce() 方法的第二个参数,表示累积值的初始值。如果你提供了初始值,那么在第一次迭代时,累积值将使用这个初始值。如果你没有提供初始值,那么将使用数组的第一个元素作为初始值,并从第二个元素开始迭代。

回调函数会按照数组的顺序在每个元素上调用一次,从第一个元素到最后一个元素。它会根据你的逻辑对累积值进行更新,并在最后一次调用结束后返回最终的累积值作为结果。

const numbers = [1, 2, 3, 4, 5];

const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue,10
);

console.log(sum); // 输出:25

参数解析:

  • accumulator  累加开始的数(默认是undefined)每次会保留现在的值再 + 遍历(currentValue)的值
  • currentValue  数组里的每一项(1,2,3,4,5)
  • 0   从0开始累加,为几就从几开始累加

猜你喜欢

转载自blog.csdn.net/m0_68956554/article/details/132835641