在遍历数组时,我需要一些帮助,我会不断卡住或重新发明轮子。
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);