前言
大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~
都 2025 了,还有很多人都不知道 reduce
这个方法到底有什么用,或者说应该在什么场景下去使用
reduce
是一个非常实用的数组方法
reduce()
方法对数组中的每个元素按序执行一个提供的 reducer 函数,每一次运行 reducer 会将先前元素的计算结果作为参数传入,最后将其结果汇总为单个返回值。
第一次执行回调函数时,不存在“上一次的计算结果”。如果需要回调函数从数组索引为 0 的元素开始执行,则需要传递初始值。否则,数组索引为 0 的元素将被用作初始值,迭代器将从第二个元素开始执行(即从索引为 1 而不是 0 的位置开始)
接下来通过几个场景给大家讲一下 reduce
的使用场景
数字的求和
如果你想要对一堆数字进行求和计算,那么 reduce
是不二之选~
数组扁平化
如果你想要对一个数组进行扁平化,也可以选择 reduce
来完成
根据属性去分类对象
比如有一个对象数组,你想要根据每个对象的某一个属性,去对这些对象进行分组,就可以使用 reduce
来完成
对象数组生成映射关系
比如有一个对象数组,我想要根据每一个对象的 id 去生成映射关系,方便后面根据 id 去匹配,就可以使用 reduce
来完成
统计元素出现次数
你想要统计一个数组中各个元素出现的次数,就可以使用 reduce
来完成
计算平均值
计算一个数字数组的平均值
结语
我是林三心,一个待过小型toG型外包公司、大型外包公司、小公司、潜力型创业公司、大公司的作死型前端选手