【发布时间】:2020-07-30 10:44:09
【问题描述】:
我有 json 响应,其值为 week1、week2、week3、week4 在 week 键以及基于类别 (meetingHash) 和周明智的计数。我尝试与 .reduce 合并但没有运气
const data=[
{
"UserName": "Sarathy Devaraju",
"week": "Week 1",
"MeetingHash": "Hold/Uncategorized",
"monthinwords": "May",
"count": 2
},
{
"UserName": "Sarathy Devaraju",
"week": "Week 2",
"MeetingHash": "1st Presentation / Meeting",
"monthinwords": "Jun",
"count": 1
},
{
"UserName": "Sarathy Devaraju",
"week": "Week 1",
"MeetingHash": "Follow-On Meetings",
"monthinwords": "Jun",
"count": 1
},
{
"UserName": "Sarathy Devaraju",
"week": "Week 2",
"MeetingHash": "1st Presentation / Meeting",
"monthinwords": "May",
"count": 1
},
{
"UserName": "Sarathy Devaraju",
"week": "Week 3",
"MeetingHash": "Follow-On Meetings",
"monthinwords": "July",
"count": 1
},
{
"UserName": "Priya",
"week": "Week 1",
"MeetingHash": "Hold/Uncategorized",
"monthinwords": "May",
"count": 2
},
{
"UserName": "Priya",
"week": "Week 2",
"MeetingHash": "1st Presentation / Meeting",
"monthinwords": "Jun",
"count": 1
},
{
"UserName": "Priya",
"week": "Week 1",
"MeetingHash": "Follow-On Meetings",
"monthinwords": "Jun",
"count": 1
},
{
"UserName": "Priya",
"week": "Week 2",
"MeetingHash": "1st Presentation / Meeting",
"monthinwords": "May",
"count": 1
},
{
"UserName": "Priya",
"week": "Week 1",
"MeetingHash": "Follow-On Meetings",
"monthinwords": "July",
"count": 1
}
];
const stages = data.reduce((res, row) => {
if (!res.includes(row.week)) res.push(row.week);
return res;
}, []);
console.log(stages);
const obj = data.reduce((res, row) => {
if (!res[row.week]) {
res[row.week] = Object.fromEntries([ ['week', row.week], ...stages.map(s => [s, 0]) ]);
}
return res;
}, {});
console.log(obj);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
我想把json组合成
[{"UserName":"Sarathy Devaraju","month":"May","meetingHash":"Hold/Uncategorized","Week1":2,"Week2":0,"Week3":0,"Week4":0},
{"UserName":"Priya","month":"May","meetingHash":"Hold/Uncategorized","Week1":2,"Week2":0,"Week3":0,"Week4":0},
{"UserName":"Sarathy Devaraju","month":"May","meetingHash":"1st Presentation / Meeting","Week1":0,"Week2":1,"Week3":0,"Week4":0},
{"UserName":"Priya","month":"May","meetingHash":"1st Presentation / Meeting","Week1":0,"Week2":1,"Week3":0,"Week4":0},
{"UserName":"Sarathy Devaraju","month":"Jun","meetingHash":"1st Presentation / Meeting","Week1":0,"Week2":1,"Week3":0,"Week4":0},
{"UserName":"Priya","month":"Jun","meetingHash":"1st Presentation / Meeting","Week1":0,"Week2":1,"Week3":0,"Week4":0},
{"UserName":"Sarathy Devaraju","month":"Jun","meetingHash":"Follow-On Meetings","Week1":1,"Week2":0,"Week3":0,"Week4":0},
{"UserName":"Priya","month":"Jun","meetingHash":"Follow-On Meetings","Week1":1,"Week2":0,"Week3":0,"Week4":0},
{"UserName":"Sarathy Devaraju","month":"Jul","meetingHash":"Follow-On Meetings","Week1":0,"Week2":0,"Week3":1,"Week4":0},
{"UserName":"Sarathy Devaraju","month":"Jul","meetingHash":"Follow-On Meetings","Week1":1,"Week2":0,"Week3":0,"Week4":0},
]
【问题讨论】:
标签: javascript html jquery json