js 去掉数组对象中的重复对象

export function deteleObject(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;
}

调用-

 

let obj = [{
"name": "1",
"url": "1u"
}, {
"name": "1",
"url": "1r"
}, {
"name": "2",
"url": "1u"
},{

"name": "1",

"url": "1u"

}];

console.log(deteleObject(obj))   // [{"name": "1","url": "1u"},{"name": "1","url": "1r"},{"name": "2","url": "1u"}]

posted @ 2018-10-18 15:41  abcByme  阅读(4242)  评论(0编辑  收藏  举报