如何解决想用jquery从json数组中计算每天每个团队的人数
我有一个这样的 JSON 数组
const arrayVal = [{
"DATE": "2020-12-1","NAME": "JAKE","TEAM_NO": 2,},{
"DATE": "2020-12-1","NAME": "ANNA","NAME": "JEFF","TEAM_NO": 1,"NAME": "ERIKA","NAME": "SUTTON","TEAM_NO": 3,"NAME": "ARNOLD",{
"DATE": "2020-12-2","TEAM_NO": 4,"TEAM_NO": 5,{
"DATE": "2020-12-3",}];
从上面的数组我需要一个这样的数组/对象
{
"DATE": "2020-12-1","TEAM_NO_COUNT": 2,// 2 entries with no 3 team
},// 2 entries with no 1 team
},"TEAM_NO_COUNT": 1,}
我怎样才能使用任何 juery /javascript 方法(使用 reduce 或任何东西)得到这样的结果。请帮我解决这个问题。更简单的方法会更好。
解决方法
可以使用 reduce 方法:
const result = arrayVal.reduce((a,c)=>{
a[c.TEAM_NO] = a[c.TEAM_NO]
|| { DATE: c.DATE,TEAM_NO: c.TEAM_NO,TEAM_NO_COUNT: 0 };
a[c.TEAM_NO].TEAM_NO_COUNT++;
return a;
},{})
正如mdn所说:
reduce() 方法在 数组的每个元素,导致单个输出值。
示例:
const arrayVal = [{
"DATE": "2020-12-1","NAME": "JAKE","TEAM_NO": 2,},{
"DATE": "2020-12-1","NAME": "ANNA","NAME": "JEFF","TEAM_NO": 1,"NAME": "ERIKA","NAME": "SUTTON","TEAM_NO": 3,"NAME": "ARNOLD",{
"DATE": "2020-12-2","TEAM_NO": 4,"TEAM_NO": 5,{
"DATE": "2020-12-3",}];
const result = arrayVal.reduce((a,c)=>{
a[c.TEAM_NO] = a[c.TEAM_NO] || { DATE: c.DATE,{})
console.log(result);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。