ECMAScript 2019 中的功能性变程式编程语法:map、filter 和 reduce

阅读时长 3 分钟读完

随着 JavaScript 的飞速发展,更多的功能性编程语法被应用到 JavaScript 中。在 ECMAScript 2019 中,map、filter 和 reduce 是功能性编程语法的代表性特征,可以用来处理数组和对象,让代码更加简洁和易维护。

Map

Map 可以把数组中的每个元素都转换一遍,返回一个新的数组。下面是 map 的语法:

其中,callback 是处理每个元素的函数,thisArg 是 callback 函数执行时的上下文。callback 函数有三个参数:当前元素、当前元素的索引、原数组。

下面是一个例子,把一个数字数组的每个元素都加上 1:

Filter

Filter 可以根据条件过滤出数组中符合条件的元素,返回一个新的数组。下面是 filter 的语法:

其中,callback 是根据条件过滤元素的函数,thisArg 是 callback 函数执行时的上下文。callback 函数有三个参数:当前元素、当前元素的索引、原数组。

下面是一个例子,把一个数字数组中大于 2 的元素过滤出来:

Reduce

Reduce 可以把数组中的每个元素进行累加计算,返回一个结果值。下面是 reduce 的语法:

其中,callback 是计算结果的函数,initialValue 是初始值。callback 函数有四个参数:累加器、当前元素、当前元素的索引、原数组。

下面是一个例子,把一个数字数组中所有元素都相加:

总结

Map、filter 和 reduce 是 ECMAScript 2019 中的重要功能性编程语法,它们可以让数组和对象的处理更加简洁和易维护。如果你还没有熟练掌握这些语法,在写 JavaScript 代码时可以考虑使用它们。

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

纠错
反馈