JS 数组 reduce 方法

2019-11-11  本文已影响0人  184455

主要讲解 ES6 新添加的数组方法:reduce 的使用介绍,然后说说自己使用时候的心得。

一、reduce 介绍以及参数

该数组方法主要是对数组里面的每一项元素执行回调方法,然后返回计算之后的结果。
具体参数:

array.reduce(function(prev, current, currentIndex, arr), initialValue)

二、使用心得

关于这点感觉才是这篇文章的重点。数组的循环方法有很多:for, map, forEach, ...
但是为什么还要选择 reduce 方法呢?

看看这这篇文章,人家写的很好,我也是从中收到启发:https://www.jianshu.com/p/e375ba1cfc47

然后,自己要补充的一个场景就是:给对象的每一个属性(属性的值还是一个对象)添加一个属性

const obj = {
  a: {
    aa: 1
  },
  b: {
    bb: 2
  },
  c: {
    cc: 3
  }
}
const res = Object.keys(obj).reduce(function(prev, current) {
  return Object.assign(prev, {
    [current]: {
      ...obj[current],
      add: 'add property',
    }
  })
}, {})
console.log(res)
// {
//   a: { aa: 1, add: 'add property' },
//   b: { bb: 2, add: 'add property' },
//   c: { cc: 3, add: 'add property' }
// }
上一篇 下一篇

猜你喜欢

热点阅读