charleyup

为自己吹过的🐮🍺奋斗终生.

数组去重

2017/10/30

第一种:利用es6的Set

const unique = arr => {
  return [...new Set(arr)]
}

第二种:利用Object中key的唯一性

const unique2 = arr => {
  const obj = {}
  arr.forEach(item => {
    obj[item] = null 
  })
  return Object.keys(obj)
}

第三种:利用数组indexOf方法只返回第一个的特性

const unique3 = arr => {
  return arr.filter((item, index) => {
    return index === arr.indexOf(item)
  })
}

需要注意的是,第二种方式,数组中Number类型的值会被转化为String类型