如何根据多个条件从数组中删除重复的对象[重复](How to remove duplicate objects from an array based on more than one criteria [duplicate])
这个问题在这里已经有了答案:
在JavaScript数组 3答案中 收集唯一对象我试图通过在对象内部放置多个字段来从数组中找到重复的对象。
我想比较对象的2个字段和同一个数组的其他对象。
我想仅仅使用name和lname来忽略我对象中的第3个字段link
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' }]This question already has an answer here:
Collect unique objects in JavaScript array 3 answersI am trying to find duplicate objects from array by camparing more than 1 field inside object.
I want to compare 2 fields of the object with the other objects of the same array.
I want to campare just name and lname ignoring the 3rd field link inside my object
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' }]How do I find and remove the duplicate objects with output that would look like this
values = [{ name: 'newton', lname: 'king', link: '123' }, { name: 'tom', lname: 'kurtz', link: '123' }, { name: 'jan', lname: 'heckal', link: '123' }]最满意答案
这几乎是使用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)This is almost a duplicate of 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)
更多推荐
发布评论