可以使用 JavaScript 来判断对象数组中是否存在重复数据。下面是一种常见的解决方法:
function hasDuplicate(array) {
const seen = new Set();
for (let i = 0; i < array.length; i++) {
const objString = JSON.stringify(array[i]);
if (seen.has(objString)) {
return true;
}
seen.add(objString);
}
return false;
}
在上述代码中,我们使用了一个 Set
数据结构来存储已经遍历过的对象的字符串表示。遍历数组中的每个对象,将其转换为 JSON 格式的字符串,然后判断该字符串是否已经存在于 Set
中。如果存在,则表示有重复数据,函数返回 true
。如果遍历完整个数组后都没有出现重复数据,则函数返回 false
。
以下是一些示例用法:
const array1 = [{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }, { id: 3, name: 'John' }];
console.log(hasDuplicate(array1)); // true
const array2 = [{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }, { id: 3, name: 'Bob' }];
console.log(hasDuplicate(array2)); // false
请注意,由于判断重复是基于对象的字符串表示,因此相同内容但不同对象引用的数据将被视为不重复。如果你需要根据对象的某个特定属性来判断重复,可以相应地调整代码中的比较逻辑。
标签:const,name,重复,js,对象,数组,id From: https://www.cnblogs.com/gaosj20210301/p/17563827.html