在项目中遇见一个需求,看一个数组中的某个属性值是否相同,如果相同就调用接口,不同就提醒用户,模拟以下数据:
const arr = [
{
hostId: "1",
number: "3001",
name: '张三',
},
{
hostId: "1",
number: "3002",
name: '李四',
},
{
hostId: "1",
number: "3003",
name: "李四",
},
{
hostId: "1",
number: "3004",
name: "李四",
},
{
hostId: "1",
number: "3005",
name: "李四",
},
];
我要去找hostId,是否都相同,判断如下
if(arr.some((e) => arr.filter((e1) => e1.hostId != e.hostId).length > 1)){
console.log('hostId 不相同')
}else{
console.log('hostId 相同')
}
以上输出为console.log('hostId 相同'),如果是判断name属性则就是不相同,当有一个属性值不同就不会通过,大家可以验证一下