2017-12-16 39 views
0

オブジェクトのユニークな配列を作成しようとしています。私は多くの解決策を試しています。 Finalyは関数を書く。それは動作しますが、他に解決策がありますか?そしてwhay $。ユニークな仕事はありませんか?Javascript JSONを使用してオブジェクトの配列から重複を削除する

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; 
} 
+0

https://stackoverflow.com/questions/23507853/remove-duplicate-objects-from-json-array –

+2

)(.uniqueなぜ$についてjQueryのドキュメントによると、これはDOM要素の配列をソートするために使用されます。あなたがDOM要素の配列を提供していないことを考えれば、おそらくそれはうまくいかないでしょう。 https://api.jquery.com/jQuery.unique/を参照してください。 – AndroidNoobie

答えて

0

lodashライブラリはimplimentationがあり

_.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); 
// => [{ 'x': 1 }, { 'x': 2 }] 
関連する問題