reduce是JavaScript数组方法,通过累加器逐步处理元素返回单一值;需注意初始值设置,否则空数组会报错,单元素数组不执行回调;广泛用于求和、去重、统计等场景。

reduce 是 JavaScript 数组的一个方法,用来把数组“压缩”成一个单一的值——比如求和、找最大值、拼接字符串,甚至转成对象。它通过一个“累加器”(accumulator)记住上一步的结果,再一步步处理每个元素,最终返回累积完成的值。
累加器怎么工作的?
每次调用传入的回调函数时,第一个参数就是累加器,它保存着截至目前的计算结果;第二个参数是当前正在处理的数组元素。回调函数返回什么,下一轮的累加器就变成什么。
例如:[1, 2, 3, 4].reduce((sum, item) => sum + item, 0)
- 初始值是 0(作为第一次的 sum)
- 第一轮:sum = 0,item = 1 → 返回 1
- 第二轮:sum = 1,item = 2 → 返回 3
- 第三轮:sum = 3,item = 3 → 返回 6
- 第四轮:sum = 6,item = 4 → 返回 10
- 最终结果就是 10
初始值(initialValue)很重要
如果不传初始值,reduce 会把数组第一个元素当作累加器的起始值,从第二个元素开始遍历。
标签: javascript java 回调函数 red
还木有评论哦,快来抢沙发吧~