我有一个格式为
的 JavaScript 对象{
"header": {
"dataFields": ["number", "name", "quantity", "id", "from"]
},
"data": [
"20|sam|12|2|2012-06-29T00:00Z|",
"18|peter|231|12|",
]
}
我正在尝试将其转换为以下格式:
[{"number" : "20", "name":"sam", "quantity" : "12", "id":"2"},
{"number" : "18", "name":"peter", "quantity": "231", "id" 12"}]
我不想要输出数组中的字段“from”。实现它的最佳方法是什么??
var l={};
for ( var key in responseData.positions[i]){
l.name=key;
for(var k=0; k<responseData.positions.length;k++){
for ( var key in responseData.positions[k]) {
l.value= responseData.positions[k][key] ;
}
}
mainArray.push(l);
最佳答案
您可以使用数组映射方法来迭代数据数组并进行转换。
代码和现场演示:http://jsfiddle.net/N9QyQ/
var object={
"header": {
"dataFields": ["number", "name", "quantity", "id", "rom"]
},
"data": [
"20|sam|12|2|2012-06-29T00:00Z",
"18|peter|231|12|"
]
} ;
var result=object.data.map(function(string){
var split=string.split("|"), item={};
for (var i=0;i<4;i++) {
item[object.header.dataFields[i]]=split[i];
}
return item;
});
关于javascript - 将对象转换为对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12948307/