如何检查对象数组是否具有重复的属性值?
在遍历数组时,我需要一些帮助,我会不断卡住或重新发明轮子。
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