数组去重

两个数组合并去重

function _concat(arr1,arr2){  
    //不要直接使用var arr = arr1,这样arr只是arr1的一个引用,两者的修改会互相影响  
    var arr = arr1.concat();  
    //或者使用slice()复制,var arr = arr1.slice(0)  
    for(var i=0;i<arr2.length;i++){  
        arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0;  
    }  
    return arr;  
  }

数组内去掉重复的对象

function unique(obj) {
    var uniques = [];
    var stringify = {};
    for (var i = 0; i < obj.length; i++) {
        var keys = Object.keys(obj[i]);
        keys.sort(function(a, b) {
            return (Number(a) - Number(b));
        });
        var str = '';
        for (var j = 0; j < keys.length; j++) {
            str += JSON.stringify(keys[j]);
            str += JSON.stringify(obj[i][keys[j]]);
        }
        if (!stringify.hasOwnProperty(str)) {
            uniques.push(obj[i]);
            stringify[str] = true;
        }
    }
    uniques = uniques;
    return uniques;
  }

你可能感兴趣的:(数组去重)