0
我有一個包含兩個參數的對象ml_successor和ml_predecessor, 如果兩個參數都匹配,我想刪除對象的重複項。如果兩個參數都匹配,從對象中刪除重複項
下面是我試過的代碼,但即使其中一個參數(ml_successor或ml_predecessor)與其他項目匹配,它也會刪除項目。
var depArr = [{
"ml_predecessor": "0e1cea11-4af4-4bb9-9269-8a1eecc3e848",
"ml_successor": "c67c5b33-8e5c-48fc-9178-50eb8379426c"
}, {
"ml_predecessor": "0e1cea11-4af4-4bb9-9269-8a1eecc3e848",
"ml_successor": "db1cfd99-1e07-47b7-b9e0-bb84420f454e"
}, {
"ml_predecessor": "0e1cea11-4af4-4bb9-9269-8a1eecc3e848",
"ml_successor": "c67c5b33-8e5c-48fc-9178-50eb8379426c"
}, {
"ml_predecessor": "db1cfd99-1e07-47b7-b9e0-bb84420f454e",
"ml_successor": "73133d97-b094-41dd-ba2c-c93502a68bfa"
}, {
"ml_predecessor": "0e1cea11-4af4-4bb9-9269-8a1eecc3e848",
"ml_successor": "db1cfd99-1e07-47b7-b9e0-bb84420f454e"
}, {
"ml_predecessor": "db1cfd99-1e07-47b7-b9e0-bb84420f454e",
"ml_successor": "73133d97-b094-41dd-ba2c-c93502a68bfa"
}];
var dupes = {},
dupes1 = {},
singles = [];
$.each(depArr, function(i, el) {
if (!dupes[el.ml_predecessor] && !dupes1[el.ml_successor]) {
dupes[el.ml_predecessor] = true;
dupes1[el.ml_successor] = true;
singles.push(el);
}
});
的[刪除從JavaScript陣列重複]可能的複製(http://stackoverflow.com/questions/9229645/remove-duplicates-from-javascript-array) –