如何将以下json格式的格式更改为预期的输出:
[
{
"type": "System Usability Score",
"score": 74,
"date": "2020-03-19T18:30:00.000+0000"
},
{
"type": "System Usability Score",
"score": 87,
"date": "2020-03-31T18:30:00.000+0000"
}
]
预期输出:
[
{
"name": "System Usability Score",
"series": [
{
"name": "2020-03-19T18:30:00.000+0000",
"value": 74
},
{
"name": "2020-03-31T18:30:00.000+0000",
"value": 87
}
]
}
]
有人可以帮忙吗?
答案 0 :(得分:0)
"use strict";
const input = [
{
"type": "System Usability Score",
"score": 74,
"date": "2020-03-19T18:30:00.000+0000"
},
{
"type": "Net Promoter Score",
"score": 89,
"date": "2020-03-23T18:30:00.000+0000"
},
{
"type": "Net Promoter Score",
"score": 78,
"date": "2020-03-25T18:30:00.000+0000"
},
{
"type": "System Usability Score",
"score": 87,
"date": "2020-03-31T18:30:00.000+0000"
}
]
var output = input.reduce((collect, {type, score, date}) => {
let el, series
if (el = collect.find(({name}) => name === type)) {
series = el.series
} else {
series = collect[collect.push({name: type, series: []}) - 1].series
}
series.push({name: date, value: score})
return collect
}, [])
console.log(output)