我有
var data =
[
{
"id":"07907313",
"type":"car",
"year":"1999"
},
{
"id":"0797096",
"type":"boat",
"year":"2013"
},
{
"id":"2341353",
"type":"plane",
"year":"2015"
}
]
我做
var jsonAsString = JSON.stringify(data);
var jsonData = JSON.parse(jsonAsString);
我想拉出每个唯一键(id,type,year)值,然后使用以下格式创建另一个var:
[
{"name": "id", "data": ["07907313","0797096","2341353"]},
{"name": "type", "data": ["car","boat","plane"]},
{"name": "year", "data":["1999","2013","2015"]}
]
我一直在努力获得想要的输出。任何帮助将不胜感激。
最佳答案
您想从遍历现在拥有的每个项目开始,提取数据并将其合并为一个对象。像这样:
var data = [{
"id": "07907313",
"type": "car",
"year": "1999"
}, {
"id": "0797096",
"type": "boat",
"year": "2013"
}, {
"id": "2341353",
"type": "plane",
"year": "2015"
}];
var results = {};
data.forEach(function(item) {
Object.keys(item).forEach(function(key) {
results[key] = results[key] || [];
results[key].push(item[key]);
});
});
document.getElementById('r').textContent = JSON.stringify(results);
<pre id="r"></pre>