如何根据多个条件从数组中删除重复的对象[重复](How to remove duplicate objects from an array based on more than one criteri

编程入门 行业动态 更新时间:2024-10-24 11:22:21
如何根据多个条件从数组中删除重复的对象[重复](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 answers

I 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) 
  
 

更多推荐

本文发布于:2023-07-29 18:28:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1318628.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:多个   组中   对象   条件   remove

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!