如何根据多个条件从数组中删除重复对象
How to remove duplicate objects from an array based on more than one criteria
我正在尝试通过在对象内比较 1 个以上的字段来从数组中找到重复的对象。
我想将对象的 2 个字段与同一数组的其他对象进行比较。
我只想忽略对象中的第 3 个字段 link
的名称和 lname
values = [{
name: 'newton',
lname: 'king',
link: '123'
}, {
name: 'tom',
lname: 'kurtz',
link: '123'
}, {
name: 'newton',
lname: 'king',
link: '456'
}, {
name: 'jan',
lname: 'heckal',
link: '123'
}]
如何找到并删除输出如下所示的重复对象
values = [{
name: 'newton',
lname: 'king',
link: '123'
}, {
name: 'tom',
lname: 'kurtz',
link: '123'
}, {
name: 'jan',
lname: 'heckal',
link: '123'
}]
这几乎是 Remove duplicate objects from an array using javascript
的重复
var arrResult=[],
arr = [{
name: 'newton',
lname: 'king',
link: '123'
}, {
name: 'tom',
lname: 'kurtz',
link: '123'
}, {
name: 'newton',
lname: 'king',
link: '456'
}, {
name: 'jan',
lname: 'heckal',
link: '123'
}]
for (i = 0, n = arr.length; i < n; i++) {
var item = arr[i];
arrResult[ item.name + " - " + item.lname ] = item; // create associative array
}
var i = 0;
var nonDuplicatedArray = [];
for(var item in arrResult) {
nonDuplicatedArray[i++] = arrResult[item]; // copy the objects that are now unique
}
console.log(nonDuplicatedArray)
我正在尝试通过在对象内比较 1 个以上的字段来从数组中找到重复的对象。
我想将对象的 2 个字段与同一数组的其他对象进行比较。
我只想忽略对象中的第 3 个字段 link
的名称和 lname
values = [{
name: 'newton',
lname: 'king',
link: '123'
}, {
name: 'tom',
lname: 'kurtz',
link: '123'
}, {
name: 'newton',
lname: 'king',
link: '456'
}, {
name: 'jan',
lname: 'heckal',
link: '123'
}]
如何找到并删除输出如下所示的重复对象
values = [{
name: 'newton',
lname: 'king',
link: '123'
}, {
name: 'tom',
lname: 'kurtz',
link: '123'
}, {
name: 'jan',
lname: 'heckal',
link: '123'
}]
这几乎是 Remove duplicate objects from an array using javascript
的重复 var arrResult=[],
arr = [{
name: 'newton',
lname: 'king',
link: '123'
}, {
name: 'tom',
lname: 'kurtz',
link: '123'
}, {
name: 'newton',
lname: 'king',
link: '456'
}, {
name: 'jan',
lname: 'heckal',
link: '123'
}]
for (i = 0, n = arr.length; i < n; i++) {
var item = arr[i];
arrResult[ item.name + " - " + item.lname ] = item; // create associative array
}
var i = 0;
var nonDuplicatedArray = [];
for(var item in arrResult) {
nonDuplicatedArray[i++] = arrResult[item]; // copy the objects that are now unique
}
console.log(nonDuplicatedArray)