js 判断数组对象中某个值是否重复

前端技术栈 2024-10-03 09:03:00 阅读 85

js 判断数组对象中某个值是否重复

在JavaScript中,可以使用<code>Set对象来检查数组中是否有重复值。Set对象只会保存唯一的值。如果你要检查的数组是一个值的集合,并且你想知道这些值是否有重复,可以使用以下代码:

function hasDuplicates(array) {

return new Set(array).size !== array.length;

}

// 示例

const arrayWithDuplicates = [1, 2, 3, 4, 5, 1];

const arrayWithoutDuplicates = [1, 2, 3, 4, 5];

console.log(hasDuplicates(arrayWithDuplicates)); // 输出: true

console.log(hasDuplicates(arrayWithoutDuplicates)); // 输出: false

如果数组包含对象,并且你想检查某个特定属性的值是否重复,可以使用以下代码:

function hasDuplicateProperty(array, property) {

const values = array.map(item => item[property]);

return new Set(values).size !== new Set(array).size;

}

// 示例

const arrayOfObjects = [

{ id: 1, name: 'Alice' },

{ id: 2, name: 'Bob' },

{ id: 3, name: 'Charlie' },

{ id: 1, name: 'Alice' }

];

console.log(hasDuplicateProperty(arrayOfObjects, 'id')); // 输出: true

console.log(hasDuplicateProperty(arrayOfObjects, 'name')); // 输出: false

这段代码首先提取对象数组中指定的属性值,然后检查这些值是否与数组长度相同。如果不同,说明有重复的属性值。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。