使用Javascript/Jquery根据数组中的键值统计记录数

使用Javascript/Jquery根据数组中的键值统计记录数,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,我需要使用Javascript/Jquery根据键值计算对象数组中存在的记录数。我在下面解释我的代码 var arrResult = [{"name":"jim","amount":34,"date":"11/12/2015"}, {"name":"carl","amount":120.11,"date":"11/12/2015"}, {"name":"jim","amount":45,"date":"12/01/2015"}, {"name":"stacy","amount":12

我需要使用Javascript/Jquery根据键值计算对象数组中存在的记录数。我在下面解释我的代码

var arrResult = [{"name":"jim","amount":34,"date":"11/12/2015"},
  {"name":"carl","amount":120.11,"date":"11/12/2015"},
  {"name":"jim","amount":45,"date":"12/01/2015"},
  {"name":"stacy","amount":12.00,"date":"01/04/2016"},
  {"name":"stacy","amount":34.10,"date":"01/04/2016"},
  {"name":"stacy","amount":44.80,"date":"01/05/2016"}
];
上面是我的对象数组。在这里,我需要根据相同的
name
值计算记录的数量,我的预期输出如下所示

var output=[
         {"name":"jim","count":2},
         {"name":"carl","count":1},
         {"name":"stacy","count":3}
]

您可以使用
reduce

var arresult=[{“姓名”:“吉姆”,“金额”:34,“日期”:“2015年12月11日”},
{“姓名”:“卡尔”,“金额”:120.11,“日期”:“11/12/2015”},
{“姓名”:“吉姆”,“金额”:45,“日期”:“12/01/2015”},
{“姓名”:“stacy”,“金额”:12.00,“日期”:“2016年4月1日”},
{“姓名”:“stacy”,“金额”:34.10,“日期”:“2016年4月1日”},
{“姓名”:“stacy”,“金额”:44.80,“日期”:“2016年5月1日”}
];
var输出=arrResult.reduce((acc,curr)=>{
如果(!acc.some(({name})=>name==curr.name)){
acc.push({name:curr.name,count:1});
}否则{
acc.find(({name})=>name==curr.name).count++;
}
返回acc;
}, []);
控制台日志(输出)您可以使用combied:

const arrResult=[{“姓名”:“吉姆”,“金额”:34,“日期”:“11/12/2015”},{“姓名”:“卡尔”,“金额”:120.11,“日期”:“11/12/2015”},{“姓名”:“吉姆”,“金额”:45,“日期”:“12/01/2015”},{“姓名”:“stacy”,“金额”:12.00,“日期”:“01/04/2016”},{“姓名”:“stacy”,“金额”:34.10,“日期”:“01/04/2016”},{“姓名”:“stacy”,“金额”:44.80”,“日期”};
常量输出=对象值(arresult.reduce)(a,c)=>{
a[c.name]=a[c.name]?{name:c.name,count:++a[c.name]。count}:{name:c.name,count:1};
返回a;
}, {}));
控制台日志(输出)

作为控制台包装{max height:100%!important;top:0;}
到目前为止您尝试了什么?和的可能重复