js 对象数组 判断某一特定属性是否重复

代码如下

let arr = [
  {
    a: 1,
    b: 21,
  },
  {
    a: 1,
    b: 43,
  },
  {
    a: 2,
    b: 67,
  },
  {
    a: 2,
    b: 89,
  },
]

现在想这样判断,如果数组里面某个元素a属性与其他元素的a属性相等,那么判断为true,并将具有重复属性的元素取出,例如将arr判断后应该返回true,并且取出元素

{
  a: 1,
  b: 21,
},
{
  a: 1,
  b: 21,
},

求各位指点

阅读 7.7k
2 个回答

取到的是具有相同的属性名和值,仅供参考:

function getCommonObj(arr,key,val){//arr是数组,key是需要比对的属性名,val是要比对的属性值
        var valArr = []//用来存找到的对象
        for(var i=0; i< arr.length; i++){
            if(arr[i][key] == val){
                valArr.push(arr[i])//存值
        }
        }
        if(valArr.length>=2){
            return valArr
        }
}

返回结果

推荐问题