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,
},

求各位指点


慕森王
浏览 3007回答 1
1回答

弑天下

取到的是具有相同的属性名和值,仅供参考:function&nbsp;getCommonObj(arr,key,val){//arr是数组,key是需要比对的属性名,val是要比对的属性值 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;valArr&nbsp;=&nbsp;[]//用来存找到的对象 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(var&nbsp;i=0;&nbsp;i<&nbsp;arr.length;&nbsp;i++){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(arr[i][key]&nbsp;==&nbsp;val){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;valArr.push(arr[i])//存值 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(valArr.length>=2){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;valArr &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript