JS 判断数组对象中某个字段有无重复

判断一个数组中对象中,某个字段是否有重复

1.使用set map 实现

let arr = [
{name:'zhang',id: '1001'},
{nmae: 'li', id: '1001'}
]
// 判断id是否重复
// 返回一个id的数组
const newArr = app.map(item => item.id)
// Set类似于数组,区别在于它所有的成员都是唯一的,不能有重复的,会将重复的值去重
const arrSet = new Set(newArr)
// 判断set之后的数组的长度跟set之前的数组是否相等
if (arrSet.size == newArr.length) {
console.log("没有重复值");
} else {
console.log("有重复值");
}
// 可以达到 查看数组是否重复的目的

2、使用标识判断是否存在

/**
* @param arr 如:var arr = [{name: "123", age : 123}, {name:"1234432", age : 1234324}]
* @param key 如:"name"
*
* @retutns boolean: true:不存在; false:存在重复
**/
function isRepeat(arr, key) {
var obj = {};
for (let i = 0; i < arr.length; i ++) {
if (obj[arr[i][key]]) {
return false; // 存在
} else {
obj[arr[i][key]] = arr[i];
}
}
return true;
}
posted @   Tommy_marc  阅读(1507)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示