weekCodeing / interview-answe

🌍 前端程序员训练 求星星 ✨ 各位同学可以在issues中提问,无论是实际项目中遇到的问题,或者是技术问题都可以, 大家一起解决💯 👍 😄。
http://www.dadaqianduan.cn/
76 stars 9 forks source link

149.[js]reduce 有什么作用? #149

Open webVueBlog opened 4 years ago

webVueBlog commented 4 years ago

[软技能]

webVueBlog commented 4 years ago

reduce对数组中的每个元素执行一个自定义的累计器,将其结果汇总为单个返回值 reduce的精华所在是将累计器逐个作用于数组成员上,把上一次输出的值作为下一次输入的值。 如果我们想实现一个功能将函数里的元素全部相加得到一个值,可能会这样写代码

const arr = [1, 2, 3]
let total = 0
for (let i = 0; i < arr.length; i++) {
    total += arr[i]
}
console.log(total) //6

但是如果我们使用 reduce 的话就可以将遍历部分的代码优化为一行代码

const arr = [1, 2, 3]
const sum = arr.reduce((acc, current) =>
acc + current, 0)
console.log(sum)