判断一个数组中所有对象的某个属性值是否相同
刚玩js,小白一枚,请大佬多多指教。
数据是这样的
let mobilePhoneList = [ {
number: '123',
}, {
number: '123456',
}, {
number: '123456789',
},
],
这个数组里可能会有很多数据。
我想实现的是,判断每个对象里number属性的值,只要其中任何两个相等就返回true,否则返回false。(并不是其他number只跟第一个或第二个相比较,是所有的number都要相互比较)
回答:
let mobilePhoneList = [ {
number: '123',
}, {
number: '123456',
}, {
number: '123456789',
},
]
const res = mobilePhoneList.some(r => mobilePhoneList.filter(r1 => r1.number===r.number).length > 1)
console.log(res)
回答:
function hasEqualNumber(list) { const nums = new Set
for(const item of list) {
if(nums.has(item.number)) return true;
nums.add(item.number)
}
return false;
}
回答:
function hasQqualItems (objArr) { let temp = {};
for (const obj of objArr) {
if (temp[obj.number]) {
return true;
}
temp[obj.number] = true;
}
temp = null;
return false;
}
回答:
let mobilePhoneList = [ {
number: '123',
},{
number: '123456',
}, {
number: '123456',
}, {
number: '123456789',
},
];
mobilePhoneList.some((cur,idx,arr)=>arr.slice(idx+1).find(item=>cur.number==item.number));
以上是 判断一个数组中所有对象的某个属性值是否相同 的全部内容, 来源链接: utcz.com/p/936001.html