1.es6中的set去重
语法new Set(要去重的数组),返回一个数组
eg:
var arr1= [1,3,4,1,4,5,7,{},{},NaN,true,null,true,‘hahah’,‘kk’,‘hahah’,NaN,null]
var arr2 = new Set(arr1);
console.log(arr1);
console.log(arr2);
// 语法new Set(要去重的数组),返回一个数组
注:此方法有一个缺陷不能去掉多余的对象
2,slice去重
var arr1 = [1,1,3,4,2,4,3,2,5,7,3]
for(var i=0;i<arr1.length;i++){
for(var j=i+1;j<arr1.length;j++){
if(arr1[j]==arr1[i]){
arr1.splice(j,1)
}
}
}
console.log(arr1);
3.indexOf去重
该方法重新申明了一个数组array,for循环原数组,每次循环时判断array中是否包含该次循环的元素,如果不包含就将这个元素添加到array中去。
function unique(arr) {
var array = [];
for(var i=0;i<arr.length;i++){
if(array.indexOf(arr[i])==-1){
array.push(arr[i])
}