JS中REDUCE方法应用

2021-02-03 14:14

阅读:589

标签:读者   链式   表示   value   部分   rev   方法   分组   init   

看到一些书中在介绍reduce的用法时,有时会将回调函数的第一个参数解释为前一个值(preValue),这样很可能会误导读者,中欧匠人使reduce的使用变得更加不好理解,本文参考MDN中对reduce的使用说明,用示例展示reduce的使用场景和具体用法,这样相对来说更好理解一些。
学习一个单词
reduce翻译成中文的意思是:
reduce英 /rdjus/ 美 /rdus/vt. 减少;降低;使处于;把…分解vi. 减少;缩小;归纳为
语法
arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])注意:回调函数里的第一个参数是accumulator,表示累加器。
示例
1.求数组中所有元素的值的和
2.在对象数组中,求每个对象的指定属性值的和。
3.将二维数组中的每个子数组元素进行合并,最终将该二维数组转换为一维数组。
4.将数组中每个元素(重复)出现的次数进行统计,最后将结果以对象的形式输出。
5.根据指定属性,对对象数组中的对象进行分组。
6.结合spread运算符(三点运算符"...")一起使用
7.数组元素的去重
8.遍历数组,同时对符合条件的数组元素进行操作。
9.将promise的链式操作,按照顺序执行。
10.开启由多个函数组成的管道
11.用reduce模拟数组的map函数
总结
在上面的使用场景中,其中有一个是对多个promise链式操作进行同步顺序执行,这就对异步的嵌套执行,提供了reduce的解决方案,除了使用async/await语法外,这个在实际项目中也可以用一下。
reduce的功能和用法应该还有很多,上面只是列举出了其中的一部分,更多的新用法还需要在实际的项目中进行实践和总结。

JS中REDUCE方法应用

标签:读者   链式   表示   value   部分   rev   方法   分组   init   

原文地址:https://www.cnblogs.com/blogst/p/13156163.html


评论


亲,登录后才可以留言!