Javascript 如何循环对象数组并计算存在多少重复值?

Javascript 如何循环对象数组并计算存在多少重复值?,javascript,arrays,object,for-loop,counter,Javascript,Arrays,Object,For Loop,Counter,假设我有一个具有不同键的对象列表,其中一个键是name 最终结果应该是: var uniquePartNamesWithCount = [{name: "HYD. CYLINDER", count: 2}, {name: "pelle", count: 2}, {name: "1212", count: 1}] 我知道如何将唯一名称推送到数组中,但如何添加计数器?一种解决方案是生成一个对象,该对象将保存每个名称及其相关的计数器。最后,您可以使用获取所需的数组 变量输入=[ {名称:液压缸},

假设我有一个具有不同键的对象列表,其中一个键是name

最终结果应该是:

var uniquePartNamesWithCount = [{name: "HYD. CYLINDER", count: 2}, {name: "pelle", count: 2}, {name: "1212", count: 1}]
我知道如何将唯一名称推送到数组中,但如何添加计数器?

一种解决方案是生成一个对象,该对象将保存每个名称及其相关的计数器。最后,您可以使用获取所需的数组

变量输入=[ {名称:液压缸}, {name:pelle}, {名称:液压缸}, {姓名:1212}, {name:pelle} ]; 设res=input.reduceac,{name}=> { acc[name]=acc[name]|{name,计数:0}; acc[名称]。计数++; 返回acc; }, {}; console.logObject.values; .as控制台{背景颜色:黑色!重要;颜色:石灰;} .as console wrapper{max height:100%!important;top:0;}一种解决方案是生成一个对象,该对象将保存每个名称及其相关的计数器。最后,您可以使用获取所需的数组

变量输入=[ {名称:液压缸}, {name:pelle}, {名称:液压缸}, {姓名:1212}, {name:pelle} ]; 设res=input.reduceac,{name}=> { acc[name]=acc[name]|{name,计数:0}; acc[名称]。计数++; 返回acc; }, {}; console.logObject.values; .as控制台{背景颜色:黑色!重要;颜色:石灰;}
.作为控制台包装器{max height:100%!important;top:0;}这就是您要寻找的:

//声明 var resulttemp=[ {名称:液压缸}, {name:pelle}, {名称:液压缸}, {姓名:1212}, {name:pelle} ]; 常量计数={} const uniquePartNamesWithCount=[] //求和 对于resulttemp的let obj{ ifcounts[obj.name]{counts[obj.name]++;} else{counts[obj.name]=1} } //将对象添加到最终数组 const keys=Object.keyscounts; 钥匙中的福莱特钥匙{ 设obj={}; obj[键]=计数[键]; uniquePartNamesWithCount.pushobj; } //打印结果
console.loguniquePartNamesWithCount 这正是您想要的:

//声明 var resulttemp=[ {名称:液压缸}, {name:pelle}, {名称:液压缸}, {姓名:1212}, {name:pelle} ]; 常量计数={} const uniquePartNamesWithCount=[] //求和 对于resulttemp的let obj{ ifcounts[obj.name]{counts[obj.name]++;} else{counts[obj.name]=1} } //将对象添加到最终数组 const keys=Object.keyscounts; 钥匙中的福莱特钥匙{ 设obj={}; obj[键]=计数[键]; uniquePartNamesWithCount.pushobj; } //打印结果 console.loguniquePartNamesWithCount;使用Arrayreduce方法使用Arrayreduce方法
var uniquePartNamesWithCount = [{name: "HYD. CYLINDER", count: 2}, {name: "pelle", count: 2}, {name: "1212", count: 1}]