数组去重

304 阅读1分钟

常规数组去重

对于简单数组去重利用ES6的new Set和Array.from就可以解决

Array.from(new Set(array))

[...new Set(array)]

对象数组根据属性去重

array为我们要去重的数组,key是我们去重需要根据哪个属性来进行

使用数组的reduce方法进行去重

let hash = {}
array = array.reduce(function (item, next) {
  hash[next.key] ? "" : (hash[next.key] = true && item.push(next))
  return item
}, [])

使用Map数据结构进行去重

let map = new Map()
for (let item of arr) {
  if (!map.has(item.key)) {
    map.set(item.key, item)
  }
}
let newArr = [...map.values()]