js 检查数组中是否所有对象的名称都是唯一的
时间: 2024-11-05 10:25:49 浏览: 8
在JavaScript中,检查数组中所有对象的属性名是否唯一,可以采用遍历数组并创建一个新的集合(Set),因为Set会自动去除重复项。如果集合的大小与原数组长度相等,那么说明所有对象的属性名都是唯一的。
以下是一个简单的示例函数:
```javascript
function arePropertyNamesUnique(arr) {
const propertySet = new Set();
for (const obj of arr) {
if (Object.keys(obj).some(name => !propertySet.has(name))) {
// 如果发现有重复的属性名,返回false
return false;
}
// 将当前对象的所有属性名添加到集合中
for (const name in obj) {
propertySet.add(name);
}
}
// 所有对象的属性名都唯一,返回true
return true;
}
```
你可以像这样使用这个函数:
```javascript
const arr = [
{name: 'John', age: 25},
{name: 'Jane', age: 30},
{name: 'John', city: 'New York'}
];
console.log(arePropertyNamesUnique(arr)); // 输出:false
```
阅读全文