怎么判断几个对象的某个字段值是否一样?

let arr = [{num:1,localNum:'3'},{num:2,localNum:'3'},{num:1,localNum:'3'}]
怎么去判断这个arr数组里面num的值有没有重复的?
阅读 3.8k
2 个回答
arr.reduce((nums, item) => {
    nums['num' + item.num] ? alert('重复') : nums['num' + item.num] = 1
    return nums
  }, {})
// {num1: 2, num2: 1} num值为1的有两项,为2的有一项

1.使用Array.filter,再去判断筛选后的数组长度大于1就有重复了。
2.使用for循环,声明一个变量标记,判断标记情况,break跳出循环。

let flag;
arr.every((a)=>{
    flag = a.num;
    if(flag === a.num){
        console.log('num值重复了');
        return false;
    }
    return true;
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题