你好,我有下面数组中的值列表
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/