我惨败于结合所有必需的转换。对于那些更容易使用数据操作的人,我们非常感谢您的帮助,谢谢。
我想要完成的事情的视觉表现:
[
[
{
name : 'a',
value : 'b'
},
{
name : 'c',
value : 'd'
},
...
],
[
{
name : 'e',
value : 'f'
},
{
name : 'g',
value : 'h'
},
...
],
...
]
// to
[
{
a : 'b',
c : 'd'
},
{
e : 'f',
g : 'h'
},
...
]
答案 0 :(得分:2)
在这里工作小提琴:http://jsfiddle.net/b8YyL/
这是代码:
var original = [
[
{
name : 'a',
value : 'b'
},
{
name : 'c',
value : 'd'
},
],
[
{
name : 'e',
value : 'f'
},
{
name : 'g',
value : 'h'
},
],
]
function translateNameValueObjects(items) {
var map = {},
item,
i;
for (i = 0; i < items.length; i++) {
item = items[i];
map[item.name] = item.value;
}
return map;
}
var mapped = original.map(translateNameValueObjects);
alert(JSON.stringify(mapped));
答案 1 :(得分:0)
请检查以下代码。跳这个帮助你!
var jsonArray = [
[
{
name : 'a',
value : 'b'
},
{
name : 'c',
value : 'd'
},
],
[
{
name : 'e',
value : 'f'
},
{
name : 'g',
value : 'h'
},
]
];
var modifiedJsonArray = [];
if(jsonArray.length){
for(var i=0; i<jsonArray.length; i++){
if(jsonArray[i].length){
for(var j=0; j<jsonArray[i].length; j++){
modifiedJsonArray.push("{"+jsonArray[i][j].name+":"+jsonArray[i][j].value+"}")
}
}
}
}
console.log(modifiedJsonArray);
JSFiddle:http://jsfiddle.net/mail2asik/f7euL/
答案 2 :(得分:0)
您可以使用reduce功能:
var data = [
[
{
name : 'a',
value : 'b'
},
{
name : 'c',
value : 'd'
},
],
[
{
name : 'e',
value : 'f'
},
{
name : 'g',
value : 'h'
}
]
];
data = data.reduce(function(a, b, i){
a[i] = b.reduce(function(c, d){
c[d.name] = d.value;
return c;
}, {});
return a;
}, []);
JSFiddle http://jsfiddle.net/7whFy/1/