数组的reduce()方法

reduce()会循环数组,侧重于滚雪球的操作,上一次的结果是下一次的输入,例如实现累加

实现数组累加:

法一:

let arr = [1, 2, 3, 4, 5, 6]
let sum=0
arr.forEach(item => { 
    sum=sum+item
})
console.log(sum);

法二:reduce()

// reduce((上次计算的结果, 当前循环的item项) = > {
//     return 上次计算的结果+当前循环的item项
// },初始值)
 let t= arr.reduce((val,item) => { 
    return val+item
 }, 0)
console.log(t);

2.使用reduce()实现对象的链式取值

let obj = {
    a: {
        b: {
            c:'shanghai'
        }
    }
}
let arr = ['a', 'b', 'c']
let aa=arr.reduce((val,item) => { 
    return val[item]
}, obj)
console.log(aa);
posted @ 2022-04-10 15:01  Kira的学习笔记  阅读(34)  评论(0编辑  收藏  举报