【发布时间】:2020-05-20 16:56:42
【问题描述】:
我有一个示例 json 对象:
var jsonString = '[{ "name":"John", "age":30, "car":Mercedes},{ "name":"Jimy", "age":32, "car":Audi},{
"name":"Mia", "age":22, "car":Renault},{ "name":"Frank", "age":35, "car":null }]';
var data = JSON.parse(jsonString);
我想从 data 数组中获取最新的两个数据并创建一个 key:value 数组,这样对于每个 json 属性在数组中都有一个键,并且所有 json 对象的所有值都存储在它们的下面适当的键,例如,我想要的结果通常是数组 [{key: data_array_for_that_key}] 或者具体来说:
output=[{name: [Frank, Mia]}, {age: [35,22]}, {car: [null, Renault]}......]
我尝试过这样的事情:
var output = [];
data.slice(-2).forEach((d, i) => {
Object.keys(d).forEach((key) => {
output.push({[key] : d[key]});
});
});
console.log(output);
但它为每个 json 对象创建了一个键和值,这不是我想要的。
我该如何解决这个问题?
【问题讨论】:
标签: javascript json object ecmascript-6 foreach