특정 속성 값을 가진 중복 개체를 제거하여 고유 개체 배열을 원합니다. 예를 들어, 아래의 코드 스 니펫에서 event1과 event2는 동일한 제목과 동일한 시작 값을 가지며 event3과 event4는 제목은 같지만 시작 시간이 다릅니다.특정 개체 속성을 기반으로하는 jQuery 고유 개체
event4와 동일한 제목 및 시작 값을 가지고 있지만 동일한 제목 만 가지고 있으므로 객체 배열에서 event2를 제거하려고합니다.
내 코드 같이 보인다 : 제목 만 검사 위
var event1 = {id: 1, title: 'ABC', start: '10'};
var event2 = {id: 2, title: 'ABC', start: '10'};
var event3 = {id: 3, title: 'DEF', start: '12'};
var event4 = {id: 4, title: 'DEF', start: '20'};
var a=[];
a.push(event1);
a.push(event2);
a.push(event3);
a.push(event4);
//I tried this, but this code checks for title only.
var titles = [];
var b = [];
$.each(a, function(index, event) {
if ($.inArray(event.title, titles) === -1) {
titles.push(event.title);
b.push(event);
}
});
console.log(b); //Gives output as [Object { id=1, title="ABC", start="10"}, Object { id=3, title="DEF", start="12"}]
// The right output should be: [Object { id=1, title="ABC", start="10"}, Object { id=3, title="DEF", start="12"}, Object { id=3, title="DEF", start="20"}]
내 코드입니다. 나는 두 개의 다른 속성에 대해 작동하도록 만들지 못했습니다. 사전에 도움을 주셔서 감사합니다.
와우를 참조하십시오! 정확히 내가 필요한 대답. @ Furqan 도움에 감사드립니다! – Lalu
부끄러운 필터가 작동하지 않습니다
Levitikon