js判断JSON对象中value存在重复值?

JSON对象中specDesc的value值不能相同怎么判断
clipboard.png

阅读 12.4k
3 个回答
if([...new Set(specList.map(item=>item.specDesc))].length < specList.length){
    console.log('有重复')
}

可以先遍历把 obj.specDesc的值push到一个数组中,然后 再写个函数判断这个数组里有没有重复的就行了

直接判断不行吗? a['spec'] == b['spec'], 想比较所有key对应的value,那就是遍历其中一个的所有key,对照的找出另外一个的key的对应的value是否相等。

由于题主只发了个截图,不好研究题意,我的理解: a和b两个对象,不允许出现有一个键值对是相同的

那么解法如下:

var a = {age:1, spec:'hello'},
    b = {age:21, spec:'hello'};
    
function noRepeat(obj1,obj2){
    var res = false;
    for(var key in obj1){
        if(obj1[key]==obj2[key]){
            res = true;
            break;
        }
    }
    return res;
}

noRepeat(a, b); // true

差不多的这个道理,题主体会下? 有额外疑问麻烦补充~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题