派大星爱吃小鱼干

js中两种数组对象去重的方法

2019-04-29  本文已影响0人  程序猿阿峰

数组去重,大家可能都经常遇到过,但是数组对象去重,也不少遇到


数组对象

const myArr = [
  {
    id: 1,
    name: 'React'
  },
  {
    id: 2,
    name: 'Vue'
  },
  {
    id: 3,
    name: 'Angular'
  },
  {
    id: 4,
    name: 'React'
  }
]

第一种方法

let res = []
let obj = {}
for (let i = 0; i < arr.length; i++) {
  if (!obj[arr[i].name]) { // name  对应数组中的name
    res.push(arr[i])
    obj[arr[i].name] = true
  }
}

console.log(res)

执行结果如下

执行结果

第二种方法

利用reduce方法遍历数组,reduce第一个参数是遍历需要执行的函数,第二个参数是item的初始值

let obj = {}
let newArr = []
newArr = arr.reduce((item, next) => {
  obj[next.name] ? ' ' : obj[next.name] = true && item.push(next)
  return item 
}, [])

执行结果

记录是一种习惯,方便自己忘了时候打开一看便知。

上一篇 下一篇

猜你喜欢

热点阅读