js 判断对象数组中 某一个字段值是否重复
如果你想要判断对象数组中的某个字段值是否重复,你可以使用 JavaScript 的 find()
方法结合一个哈希表(即对象)来实现。下面是一个示例:
function hasDuplicateField(array, field) {
const map = {};
for (let i = 0; i < array.length; i++) {
const value = array[i][field];
if (map[value]) {
return true;
}
map[value] = true;
}
return false;
}
在上述代码中,我们遍历对象数组中的每个对象,将对象的某个字段的值作为键存储在一个哈希表 map
中。如果遍历到的对象的字段值已经存在于 map
中,说明存在重复,函数返回 true
。否则,将字段值作为键,并将对应的值设为 true
,表示该字段值已经出现,继续遍历下一个对象。如果遍历完整个数组后都没有出现重复的字段值,则函数返回 false
。
以下是一个示例用法:
const array1 = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'John' }
];
console.log(hasDuplicateField(array1, 'name')); // true,name 字段存在重复
const array2 = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Bob' }
];
console.log(hasDuplicateField(array2, 'name')); // false,name 字段没有重复
你可以根据需要将 hasDuplicateField()
函数应用到你的对象数组和特定的字段上来判断是否存在重复的字段值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)