欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS删除数组中的重复项

程序员文章站 2022-06-11 13:01:47
...

一维数组

  1. 将当前的数组进行排序,这样重复的元素位置相邻

  2. 循环判断是否有重复元素,有则删除

     function hasRepeat(ary)
    {
        var result = ary.sort();
        for(var i=0; i<result.length-1; i++) {
           if (result[i] == result[i+1]){
            result.splice(i,1);
            i--;
          }
      }
      return result;
    

    }

二维数组

  1. 建立hash表, 表中第一次出现的哈希值都为false,若后面的数据有重复项则为true

  2. 所以通过循环将首次出现的数据都添加到一个新数组中,最终返回这个新数组

    function Distict(arr)
    {
        var hash = {};  
        var result = [];  
        for(var i=0; i < arr.length; i++) {  
            if(!hash[arr[i]]){  
               result.push(arr[i]);  
               hash[arr[i]] = true;  
            }  
        }
        return result; 
    }