对象数组判断某一属性值是否唯一
const users = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' },
{ id: 4, name: 'David' },
{ id: 1, name: 'Eve' } // 重复
];
function isUnique(arr, key) {
const seen = new Set();
for (const item of arr) {
if(item[key] != undefined){
if (seen.has(item[key])) {
return false; // 找到重复
}
seen.add(item[key]); // 标记为已见
}
}
return true; // 所有值均唯一
}
// 使用示例
const result = isUnique(users, 'id');
console.log(result); // 输出: false