hello,大家好!我是一名前端干了四年的小菜鸡。目前失业中,找工作是相当的困难啊,今日闲来无事,来分享一下技术。这是我第一次写博客,如有不对之处,请多多指教,共同学习~~~
今天我要分享的是我最喜欢的一个JavaScript数组方法:Array.reduce()
很多前端的同行都会用过这个方法,觉得没什么可讲的,但是我还是要讲一下,这个方法的魅力所在之处,可以让数组执行复杂操作变得轻而易举的方法,代码也变得更干净。
说多没用,眼见为实,上代码!!!
Array.reduce() 的6个用法
1、数字求和
reduce()最直接的用法是将数组里面数字的相加。
看到了吗?计算数组中所有元素的总和,一行代码就可以解决。
2、扁平化数组
在平时接任务的时候,会有某些多维的数据整合成一维数据的需求,通常会使用循环遍历的方式,这种方式代码臃肿,看起来小白的样子,相信干过前端的人都会有这种感觉
上面代码示例中,空数组作为初始值,每次迭代都会使用concat()
方法将当前子数组连接到新的数组中。这样就可以完美的扁平化数组。
3、对象分组
如果遇到需要根据特定属性对对象数组进行分组的问题,很多人第一个想到的可能又会是循环,这里展现一下reduce()如何分组
上面代码示例中,初始值为对象。然后检查对象是否已经具有当前age
属性。如果没有,就创建一个空数组。然后将当前对象推送到相应的age
数组,最后得到新的数组。
4、创建查找映射
使用reduce()
从数组创建查找映射,在性能和代码可读性方面打破了当前格局。
使用reduce()
创建查找映射,就可以在通过元素的唯一标识符访问元素,不再需要循环遍历数组来查找特定项了。
5、计算数组中元素出现的次数
需要计算数组中元素出现的次数,reduce()也可以算一个简便的方式;
6、计算平均值
reduce()可以用于计算一组数据的平均值。
end
感谢大家的阅读,学习相互学习更多的知识。关注我,不迷路。。。。