我写了一个返回json的代码,
"aggrRes": {
"totalSize": 3,
"done": true,
"records": [
{
"attributes": {
"type": "AggregateResult"
},
"expr0": "2019-02-25",
"expr1": 40,
"expr2": 27
},
{
"attributes": {
"type": "AggregateResult"
},
"expr0": "2019-02-22",
"expr1": 36,
"expr2": 9
},
{
"attributes": {
"type": "AggregateResult"
},
"expr0": "2019-02-21",
"expr1": 38,
"expr2": 12.5
}
]
}
使用此json,我想创建另一个json。此处的格式应类似于以下内容。
in forloop:
dataset:
dates:[get all expr0 for all 3 records],
expr1:[get all expr1 for all 3 records],
expr2:[get all expr2 for all 3 records]
这里我最困惑的部分是如何执行以下操作。
var agResp = this.total_info.aggrRes;
for(int i=0; i<records.size; i++){
console.log(agResp.records[0].expr**i**);
}
在这里,我想通过循环i
值来获取 expr 值,这将生成 expr0 , expr1 和 expr2 值。
谢谢
答案 0 :(得分:1)
var records = aggrRes.records; // Store Records in a variable
var values = [];
records.forEach(record => {
Object.keys(record).forEach(key => {
if (values[key]) {
values[key].push(record[key]);
} else {
values[key] = [record[key]];
}
});
});
console.log(values);
将返回类似这样的内容
attributes: (3) [{…}, {…}, {…}]
expr0: (3) ["2019-02-25", "2019-02-22", "2019-02-21"]
expr1: (3) [40, 36, 38]
expr2: (3) [27, 9, 12.5]