js判断对象数组中是否有重复的 两个属性
时间: 2024-03-13 09:42:43 浏览: 68
判断对象数组中是否有重复的两个属性,可以使用双重循环来遍历数组,比较每对对象的两个属性是否相等。以下是示例代码:
```javascript
function hasDuplicate(arr, prop1, prop2) {
for (let i = 0; i < arr.length - 1; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i][prop1] === arr[j][prop1] && arr[i][prop2] === arr[j][prop2]) {
return true;
}
}
}
return false;
}
// 示例使用
const objArr1 = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' }];
const objArr2 = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 2, name: 'Charlie' }];
console.log(hasDuplicate(objArr1, 'id', 'name')); // false
console.log(hasDuplicate(objArr2, 'id', 'name')); // true
```
注意:这种方法可以根据属性名动态地比较不同的属性,但是时间复杂度为 O(n^2),对于大型数组可能会有性能问题,需要谨慎使用。
阅读全文