2011-09-15 7 views
4

각 객체에는 제목, 설명, 패밀리 등의 필드가있는 객체 배열이 있습니다.이 배열의 모든 객체를 고유하게 잡는 jQuery 작업을 수행하려면 어떻게해야합니까? 성 - SQL의 DISTINCT 절과 유사합니까? 당신은jQuery - 객체 배열에서 고유 값 찾기

+0

나는이 대답되었다고 생각보다 정교한 대답을 준 before http://stackoverflow.com/questions/1960473/unique-values-in-an-array – Drake

+0

@Drake - 가능한 경우 jQuery 솔루션을 찾으려고했으나 감사합니다. 링크를 stackoverflow 권장 사항 – Dexter

+0

@bstakes - 아무것도 분명히 일하고있어. 특정 일치 항목이있는 요소를 잡기 위해 grep을 사용하고 있었지만이 경우에는 잡히는 특정 값이 없습니다. 또한 데이터를 옵션으로 사용하는 방법을 검토했지만 다시 한 번 비교할 때이 값과 일치해야합니다. – Dexter

답변

18

을 할 수있는 :

var array = [{ 
    familyName: "one"}, 
{ 
    familyName: "two"}, 
{ 
    familyName: "one"}, 
{ 
    familyName: "two"}]; 

var dupes = {}; 
var singles = []; 

$.each(array, function(i, el) { 

    if (!dupes[el.familyName]) { 
     dupes[el.familyName] = true; 
     singles.push(el); 
    } 
}); 

싱글은 별개의 객체와 배열

EDIT입니다 - 내가 이것에 대해 블로그와 http://newcodeandroll.blogspot.it/2012/01/how-to-find-duplicates-in-array-in.html

+0

감사합니다. 완벽하게 작업했습니다! – Dexter