javascript - 如何使用一些从 Angular 6 中的数组列表中查找重复项?

标签 javascript arrays angular typescript duplicates

你好,我有下面数组中的值列表

    var users = [{
        name: 'John',
        email: 'johnson@mail.com',
        age: 25,
    },
    {
        name: 'Tom',
        email: 'tom@mail.com',
        age: 35,
    },
    {
        name: 'John',
        email: 'johnson@mail.com',
        age: 25,
   }];

我应该从上面的数组中找到重复行(需要比较所有字段名称、电子邮件和年龄)

我使用了一些函数来查找重复值,如下所示,但需要在其中传递多个条件。如何做到这一点

 const unique    = new Set();

 const showError = this.users.some(element => unique.size === unique.add(element.name).size);

因为我已经传递了姓名,所以我需要验证电子邮件和年龄。如何做到这一点

最佳答案

在检查相等性时维护计数器,因为每个对象都将与同一对象相等,因此检查计数器是否大于 1 以获得状态。

const status = users.some(user => {
  let counter  = 0;
  for (const iterator of users) {
    if (iterator.name === user.name && iterator.email === user.email && iterator.age === user.age) {
      counter += 1;
    }
  }
  return counter > 1;
});

关于javascript - 如何使用一些从 Angular 6 中的数组列表中查找重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59562502/

相关文章:

javascript - 数字到等级字母

Angular 7 测试重试当模拟 http 请求无法实际重试时

angular - For-each in ionic2 with angularjs2

html - 如何以 Angular 解析嵌套的json

javascript - d3 : duplicating paths with more dimensional array

javascript - 在对象的对象中访问值

php - 使用 PHP 创建基于已解码的 JSON 的文件夹/文件结构

javascript - 显示 <顶点 :pageMessages> in javascript

javascript - 高分子简单元件

Python-在二进制文件中写入长串位