数组去重常用的三种方法

//indexOf 数组去重
var arr=['123','23','123','a','abc','qwe','a','t','tt','t']
var s=[]
for(var i=0;i<arr.length;i++){
    
    
    if(s.indexOf(arr)==-1){
    
    
        s.push(arr[i])
        //判断arr[i]的值是否在s中存在,不存在则添加进s数组,存在的数组元素则不添加进去
    }
}
console.log(s)


//set数组去重
//1
var arr=new Set([1,2,3,4,5,6,6,6])
var arr1=Array.from(arr)
arr1

//2
var s = new Set();
[2, 3, 5, 4, 5, 2, 2].map(x => s.add(x));
for (let i of s) {
    
    
console.log(i);
}

//3
function dedupe(array){
    
    
    return Array.from(new Set(array))
}
dedupe([1,2,3,4,5,6,7])


//splice 数组去重
var arr = [1,3,4,5,3,4,8,9,8,4];
        for(var i=0;i<arr.length;i++){
    
    
            for(var j=i+1;j<arr.length;j++){
    
    
                if(arr[i]==arr[j]){
    
    
                    arr.splice(j,1)
                    j--
                }
            }
        }
console.log(arr) //[1,3,4,5,8,9]

猜你喜欢

转载自blog.csdn.net/qq_42526440/article/details/113941827