# 去除数组的重复成员
一、遍历数组arr,把元素分别放入另一个数组result中,判断arr中的元素在result中是否存在,不存在即加入result中
function unique(arr){
var result = []
for(var i in arr){
if(result.indexOf(arr[i]) === -1){
result.push(arr[i])
}
}
return result
}
示例:
原数组:foo = [ 1, 2, 3, 4, 5, 4, 6, 66, 13, 2, 99 ]
var bar = unique(foo)
console.log(bar) => [ 1, 2, 3, 4, 5, 6, 66, 13, 99 ]
二、ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。使用这个特性可以为数组去重
let unique = [...new Set(array)]
示例:
let koo = [1, 2, 3, 4, 5, 4, 6, 66, 13, 2, 99]
let result = [...new Set(koo)]
console.log(result)
// [ 1, 2, 3, 4, 5, 6, 66, 13, 99 ]
三、或者
// 去除数组重复成员的另一种方法
Array.from(new Set(array))
示例:
let arr = [1, 2, 3, 4, 5, 4, 6, 66, 13, 2, 99]
let result = Array.from(new Set(arr))
console.log(result)
// [ 1, 2, 3, 4, 5, 6, 66, 13, 99 ]