如何检查对象数组是否具有重复的属性值?

在遍历数组时,我需要一些帮助,我会不断卡住或重新发明轮子。

values = [

{ name: 'someName1' },

{ name: 'someName2' },

{ name: 'someName1' },

{ name: 'someName1' }

]

如何检查数组中是否有两个(或多个)相同的名称值?我不需要计数器,只需在数组值不是唯一的情况下设置一些变量即可。请记住,数组长度是动态的,数组值也是动态的。

回答:

使用array.prototype.map和array.prototype.some:

var values = [

{ name: 'someName1' },

{ name: 'someName2' },

{ name: 'someName4' },

{ name: 'someName2' }

];

var valueArr = values.map(function(item){ return item.name });

var isDuplicate = valueArr.some(function(item, idx){

return valueArr.indexOf(item) != idx

});

console.log(isDuplicate);

以上是 如何检查对象数组是否具有重复的属性值? 的全部内容, 来源链接: utcz.com/qa/416939.html

回到顶部