Javascript使用JSON从对象数组中删除重复[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我尝试制作一个独特的对象数组。我尝试了很多解决方案。最后写一个函数。它有效,但还有其他解决方案吗?而美元。不单独工作?

var a = [{"id": "id1", "name": "id1"},{"id": "id1", "name": "id1"},{"id": "id2", "name": "id2"}];
var jq = $.unique(a);
console.log("jq=",jq); // NOT UNIQUE!?
var myfunc = unique(a);
console.log("myfunc=",myfunc); // UNIQUE!

function unique(arr){
    var uniqueArr=[];
    var jsonarr = [];
    $.each(arr,function(ax, a){
        var j = JSON.stringify(a);
        if( jsonarr.indexOf(j) == -1 ){
            jsonarr.push(j);
            uniqueArr.push(a);
        }
    });
    return uniqueArr;
}   
javascript jquery arrays unique
1个回答
0
投票

lodash库有一个实现

_.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
// => [{ 'x': 1 }, { 'x': 2 }]
© www.soinside.com 2019 - 2024. All rights reserved.