JavaScript数组去重
使用Set对象去重(ES6)
Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
var arr = ["apple","apple","banana","banana","pear","pear"];
var mySet = new Set(arr);
console.log([...mySet]); //["apple","banana","pear"]
使用Map对象去重(ES6)
Map对象存储的是键值对,键值唯一,如果存储时新添加的键重复会出现覆盖
var arr = ["apple","apple","banana","banana","pear","pear"];
var myMap = new Map();
var newArr = [];
for(var i=0;i<arr.length;i++){
myMap.set(arr[i],i);
}
myMap.forEach(function(value,key){
ewArr.push(key);
})
console.log(newArr); //["apple", "banana", "pear"]
最简单数组去重
var arr = ["apple","apple","banana","banana","pear","pear"];
function unique2(arr){
var newArr = [];
for(var i=0;i<arr.length;i++){
if(newArr.indexOf(arr[i]) === -1){
newArr.push(arr[i]);
}
}
return newArr;
}
数组下标判断法
var arr = ["apple","apple","banana","banana","pear","pear"];
function unique3(arr){
var newArr = [arr[0]];
for(var i=1;i<arr.length;i++){
if(arr.indexOf(arr[i])===i){
newArr.push(arr[i]);
}
}
return newArr;
}

浙公网安备 33010602011771号