1. 程式人生 > >JavaScript 一維陣列、二維陣列去重方法

JavaScript 一維陣列、二維陣列去重方法

1.使用ES6語法 set方法陣列去重::

a=[1,2,3,4,1,2,3,4];
[...new Set(a)];  //[1, 2, 3, 4]

2.一維陣列去重方法

function unique1(array){
    var n = []; //一個新的臨時陣列
   
    for(var i = 0; i < array.length; i++){
       if (n.indexOf(array[i]) == -1) n.push(array[i]);
    }
    return n;
}

3.二維陣列去重方法

var unique1 = function(arr) {
          var i = 0,
              j = arr.length,
              cache = {},
              key, result = [];
          for (; i < j; i++) {
              key = arr[i][0];
              key = typeof(key) + key;
              if (!cache[key]) {
                  cache[key] = 1;
                  result.push(arr[i]);
              }
          }
          return result;
      };