JavaScript两种数组去重方法

技术博客 (55) 2024-01-08 18:01:01

JavaScript两种数组去重方法

第一种(利用splice()方法去重)

splice() 方法用于插入、删除或替换数组的元素。

   // 申明一个数组
    var   arr = [1,3,5,4,3,1,5,7,8,4,7];

    function temp(arr){ 
   
        for(i=0;i<arr.length;i++){ 
   
            for(j=i+1;j<arr.length;j++){ 
   
                if(arr[i]==arr[j]){ 
           
                    arr.splice(j,1);      
                    // 当第一为数于第二位数相同时 裁剪掉第二位数 
                    j--;     //原地判断一次 防止遗漏
                }
            }
        }
        return arr;			
    }
    console.log(temp(arr));	//(6) [1, 3, 5, 4, 7, 8]

第二种(利用indexOf()方法去重)

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。当目标值存在数组时返回其下标,不存在时放回-1,因此我们可以利用这个方法对数组进行去重

 function temp2(arr){ 
   
        var  wrap = [];                 //建立空数组
        for(i=0;i<arr.length;i++){ 
   
            if(wrap.indexOf(arr[i])== -1 ){ 
          
              // 在空数组里找arr数组的数据 如果没有找到就在空数组内添加
                wrap.push(arr[i])
            }
        }
        return wrap
    }

    console.log(temp2(arr))		//(6) [1, 3, 5, 4, 7, 8]
THE END

发表回复