var mapArr= specList.map(item=>item.specDesc);
var setArr = new Set(arrNum);//去重复
console.log(setArr .size<mapArr.length?'有重复':'无重复');
方法一:使用map()遍历specList并生成目标属性所构成的新数组mapArr,再利用set()传入数组并输出去重复后的数组(setArr)的特性,判断其size与arr的length比较;若小于,则有重复。
specList=[{
driverid:1,
licensenumber:粤A2BU72
},
{
driverid:2,
licensenumber:粤A2BU73
},
{
driverid:3,
licensenumber:粤A2BU74
}]
上面是随便列了一个specList数组
//方式一 利用map判断
function isExistInObj1(specList,licensenumber) {
if([new Set(specList.map(item=>item.licensenumber))].size < specList.length){
console.log('重复')
}else{
console.log('无重复');
}
}
方法二:使用hash对象映射的方式
//方式二
function isExistInObj2(specList,licensenumber) {
let hash = {},len = specList.length;
while(len){
len--;
if(hash[specList[len][licensenumber]]){
return true;
}else{
hash[specList[len][licensenumber]] = specList[len][licensenumber];
}
}
//console.log(hash)
return false;
}