ECMAScript 2017 中如何使用累加器方法

阅读时长 4 分钟读完

什么是累加器方法

在 ECMAScript 2017 中引入了一些新的累加器方法。累加器方法是用于数组的方法,在每一个数组元素上应用函数,并将结果汇聚成为一个单一的值。累加器方法包括 reduce()、reduceRight()、flatMap() 和 flat()。

reduce()方法

reduce() 方法将一个函数作为参数,这个函数接受两个参数,第一个参数是累加器累加的结果,第二个参数是当前正在被处理的元素。reduce() 方法可以接受一个初始值,如果提供了初始值,则从初始值开始计算,如果未提供初始值,则从数组的第一个元素开始计算。

语法

arr.reduce(callback[, initialValue])

参数

  • callback:要执行的函数,它接受四个参数:
    • accumulator:累加器累加的结果。
    • currentValue:当前正在被处理的元素。
    • currentIndex(可选):当前元素的下标。
    • array(可选):数组本身。
  • initialValue(可选):初始值,如果没有提供初始值,则从数组的第一个元素开始。

示例

上面的代码将对数组进行求和,最终的结果为 10。

reduceRight() 方法

reduceRight() 方法与 reduce() 方法相同,不同之处在于 reduceRight() 是从数组的最后一个元素开始计算。

语法

arr.reduceRight(callback[, initialValue])

参数

  • 与 reduce() 方法相同。

示例

上面的代码与 reduce() 方法的示例相同,不同之处在于 reduceRight() 方法是从数组的最后一个元素开始计算的。

flatMap() 方法

flatMap() 方法先对数组中的每个元素执行一个映射函数,然后将映射函数的结果用 flatten() 方法转换成一个扁平的数组。

语法

arr.flatMap(callback[, thisArg])

参数

  • callback:对数组中的每个元素进行映射的函数。
  • thisArg(可选):执行 callback 函数时使用的 this 值。

示例

上面的代码将数组中的每个元素映射成一个数组,然后使用 flatten() 方法将这些数组合并成为一个扁平的数组。

flat() 方法

flat() 方法将嵌套的数组转换成为一个扁平的数组。

语法

arr.flat([depth])

参数

  • depth(可选):指定要递归的深度,默认值为 1。

示例

上面的代码将一个嵌套的数组转换成为一个扁平的数组。

总结

ECMAScript 2017 中引入了一些新的累加器方法,这些方法包括 reduce()、reduceRight()、flatMap() 和 flat()。这些方法可以用于非常多的不同用途,比如对数组进行求和、计算平均值、合并数组等等。在实际工作中,我们可以根据不同的需求来选择合适的累加器方法,从而提高我们的工作效率。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/645f69b6968c7c53b016fd38

纠错
反馈