【发布时间】:2021-05-04 04:14:57
【问题描述】:
我有一个这样的 JSON 数组,
const arrayVal = [{
"DATE": "2020-12-1",
"NAME": "JAKE",
"TEAM_NO": 2,
}, {
"DATE": "2020-12-1",
"NAME": "ANNA",
"TEAM_NO": 2,
}, {
"DATE": "2020-12-1",
"NAME": "JEFF",
"TEAM_NO": 1,
}, {
"DATE": "2020-12-1",
"NAME": "ERIKA",
"TEAM_NO": 2,
}, {
"DATE": "2020-12-1",
"NAME": "SUTTON",
"TEAM_NO": 3,
}, {
"DATE": "2020-12-1",
"NAME": "ARNOLD",
"TEAM_NO": 3,
}, {
"DATE": "2020-12-2",
"NAME": "JAKE",
"TEAM_NO": 4,
}, {
"DATE": "2020-12-2",
"NAME": "ANNA",
"TEAM_NO": 2,
}, {
"DATE": "2020-12-2",
"NAME": "JEFF",
"TEAM_NO": 1,
}, {
"DATE": "2020-12-2",
"NAME": "ERIKA",
"TEAM_NO": 3,
}, {
"DATE": "2020-12-2",
"NAME": "SUTTON",
"TEAM_NO": 5,
}, {
"DATE": "2020-12-2",
"NAME": "ARNOLD",
"TEAM_NO": 5,
}, {
"DATE": "2020-12-3",
"NAME": "JAKE",
"TEAM_NO": 1,
}, {
"DATE": "2020-12-3",
"NAME": "ANNA",
"TEAM_NO": 1,
}, {
"DATE": "2020-12-3",
"NAME": "JEFF",
"TEAM_NO": 1,
}, {
"DATE": "2020-12-3",
"NAME": "ERIKA",
"TEAM_NO": 2,
}, {
"DATE": "2020-12-3",
"NAME": "SUTTON",
"TEAM_NO": 3,
}, {
"DATE": "2020-12-3",
"NAME": "ARNOLD",
"TEAM_NO": 3,
}];
我只是想从上面的数组中得到下面的结果。在此我想按天计算团队人数并使用“TEAM_NO_COUNT”参数创建一个新数组。
[{
"DATE": "2020-12-1",
"TEAM_NO": 3,
"TEAM_NO_COUNT": 2, // 2 entries with no 3 team
}, {
"DATE": "2020-12-1",
"TEAM_NO": 1,
"TEAM_NO_COUNT": 2, // 2 entries with no 1 team
}, {
"DATE": "2020-12-2",
"TEAM_NO": 4,
"TEAM_NO_COUNT": 1,
}]
到目前为止,我有这段代码,但它只是给了我一个包含团队编号的 json 对象,但这不是我想要的,我需要上面的确切结果。
TEAM_NO_COUNT = {}; // create an object
$.each(JSON.parse(JSON.stringify(arrayVal)), function (key, val) {
DATE_NO_CO = {};
TEAM_NO_COUNT[val.DATE] = (TEAM_NO_COUNT[val.DATE] || {});
TEAM_NO_COUNT[val.DATE][val.TEAM_NO] = (TEAM_NO_COUNT[val.DATE][val.TEAM_NO] || 0) + 1;
});
alert(JSON.stringify(TEAM_NO_COUNT));
谁能帮帮我。将不胜感激。谢谢。
【问题讨论】:
标签: javascript jquery arrays json reduce