数组去重的几种方法
数组 [1,1,2,3,2,3] 去重变成 [1, 2, 3] 的多种方法
Array.from() + new Set() (es6新增)
Array.from()文档
Set()文档1
2
3function unique(arr) {
  Array.from(new Set(arr))
}
扩展运算符 + new Set()
| 1 | arr = [...new Set(arr)] | 
Array.prototype.includes() (es6新增)
filter()文档1
2
3
4
5
6
7
8
9function unique(arr) {
  var newArr = []
  arr.forEach(item => {
    if(!newArr.includes(item)) {
      newArr.push(item)
    }
  })
  return newArr
}
Array.prototype.filter() (es5新增)
filter()文档1
2
3
4
5function unique(arr) {
  return arr.sort().filter((item,index,arr) => {
   return item !== arr[index+1]
  })
}
Array.prototype.splice()
splice()文档1
2
3
4
5
6
7
8function unique(arr) {
  arr.sort().forEach((item,index) => {
   if(arr[index] === arr[index++]) {
     arr.splice(index,1)
   }
  })
  return arr
}
一个实践例子
| 1 | // example |