Javascript 如何循环对象数组并计算存在多少重复值?
假设我有一个具有不同键的对象列表,其中一个键是name 最终结果应该是: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}] 我知道如何将唯一名称推送到数组中,但如何添加计数器?一种解决方案是生成一个对象,该对象将保存每个名称及其相关的计数器。最后,您可以使用获取所需的数组 变量输入=[ {名称:液压缸},
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}]