Author | 王平安 |
---|---|
pingan8787@qq.com | |
博 客 | www.pingan8787.com |
微 信 | pingan8787 |
每日文章 | https://0x9.me/KMrv3 |
最近经常在项目中经常看到别人用reduce处理数据,很是牛掰,很梦幻, 不如自己琢磨琢磨。先看w3c语法。
w3c语法
1 | array.reduce(function(total, currentValue, currentIndex, arr), initialValue); |
常见用法
1.数组求和
1 | const arr = [12, 34, 23]; |
2.数组最大值
1 | const a = [23,123,342,12]; |
进阶用法
1.数组对象中的用法
1 | // 比如生成“老大、老二和老三” |
2.求字符串中字母出现的次数
1 | const str = 'sfhjasfjgfasjuwqrqadqeiqsajsdaiwqdaklldflas-cmxzmnha'; |
3.数组转数组
1 | // 按照一定的规则转成数组 |
4.数组转对象
1 | // 按照id 取出stream |
高级用法
1.多维的叠加执行操作
1 | // 各科成绩占比重不一样, 求结果 |
2.扁平一个多维数组
1 | var arr = [[1, 2, 8], [3, 4, 9], [5, 6, 10]]; |
3.对象数组去重
1 | const hash = {}; |