2014-12-25 4 views
1
var db = [ 
     {Id: "201" , Player: "Nugent",Position: "Defenders"}, 
     {Id: "202", Player: "Ryan",Position: "Forwards"}, 
     {Id: "203" ,Player: "Sam",Position: "Forwards"}, 
     {Id: "204", Player: "Bill",Position: "Midfielder"}, 
     {Id: "205" ,Player: "Dave",Position: "Forwards"}, 
] 

중복 된 값을 찾는 가장 좋은 방법은 속성의 중복 값입니까? 이 객체가 반복되는 동안이 작업을 수행하는 것이 가능개체의 중복 된 속성 값 수 찾기

for (var key in db) { 
    var value = db[key]; 
    if (count of duplicated values == 3) { 
     console.log("we have three duplicated values) 
    } 
} 

: 공지 사항 나는 같은하려는 두 번째, 세 번째와 마지막 개체 에 "전달합니다"와 같은 값을 중복나요? 알려 주시기 바랍니다. 감사.

+0

같은 카운터와 같은 다른 개체, 당신은 객체의 배열을 가지고 당신이 속성을 복제 할 개체를 지정해야합니까 때문에? – elaijuh

답변

7

사용이

var counter = {}; 
for (var i = 0; i < db.length; i += 1) { 
    counter[db[i].Position] = (counter[db[i].Position] || 0) + 1; 
} 

for (var key in counter) { 
    if (counter[key] > 1) { 
     console.log("we have ", key, " duplicated ", counter[key], " times"); 
    } 
}