Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 找到一个重复的数字a,它';对象数组中的名称_Javascript_Arrays_Javascript Objects - Fatal编程技术网

Javascript 找到一个重复的数字a,它';对象数组中的名称

Javascript 找到一个重复的数字a,它';对象数组中的名称,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我想在javascript中的对象数组中找到重复的数字a及其名称 我检查了相关问题,但没有找到准确的重复计数。如果有多个副本,即使他们也不会专注于找到它 我尝试了这个,这将抛出寻找重复的消息。但我需要重复的计数,并处理多个重复的情况,每个名称的计数出现多次 我的代码: let keyArr=this.customPropertiesArray.map(函数(项:any){return item.name}); 让isDuplicate=keyArr.some(函数(项:any,idx:any)

我想在javascript中的对象数组中找到重复的数字a及其名称

我检查了相关问题,但没有找到准确的重复计数。如果有多个副本,即使他们也不会专注于找到它

我尝试了这个,这将抛出寻找重复的消息。但我需要重复的计数,并处理多个重复的情况,每个名称的计数出现多次

我的代码:

let keyArr=this.customPropertiesArray.map(函数(项:any){return item.name});
让isDuplicate=keyArr.some(函数(项:any,idx:any){
返回键arr.indexOf(项目)!=idx
});
如果(重复){
console.log(“发现重复项”);

}
您可以只计算对象中的名称

var数组=[{name:“name1”,value:“value1”},{name:“name2”,value:“value2”},{name:“name1”,value:“value42”},{name:“name2”,value:“value52”},{name:“name3”,value:“value2”},{name:“name2”,value:“value2”},
count=Object.create(空);
array.forEach(函数(o){
计数[o.name]=(计数[o.name]| | 0)+1;
});
Object.keys(count).forEach(函数(k){
如果(计数[k]>1){
log(k+'是重复出现的'+count[k]+'次');
}
});
控制台日志(计数)

.as控制台包装{max height:100%!important;top:0;}
这将列出您的副本:

let array=[
{"name":"name1","value":"value1"},
{"name":"name2","value":"value2"},
{"name":"name1","value":"value42"},
{"name":"name2","value":"value52"},
{"name":"name3","value":"value2"},
{"name":"name2","value":"value2"}];

const counts = array.reduce((accum, current) => {
  accum[current.name] = (accum[current.name] || 0) + 1;
  return accum;
}, {});

Object.keys(counts)
  .filter(key => counts[key] > 1)
  .forEach(grp => console.log(`${grp} is duplicate occurring ${counts[grp]} times`));

是的,我希望大多数浏览器都支持它。以防万一,如果您正在使用javascript的任何新功能。