对不起这个愚蠢的问题,但我也在寻找一个很好的解决方案:
我有这个对象
var obj = {
"brand[]" : [1,2,3],
"model[]" : [1,2,3],
"varqnt[]" : [1,2,3]
}
现在我想要的是制作一个新的对象/数组(我认为现在不重要)应该是
var newObj = {
'row-1': {
brand[] : 1,
model[] : 1,
varqnt[] : 1
},
'row-2': {
brand[] : 2,
model[] : 2,
varqnt[] : 2
},
'row-3': {
brand[] : 3,
model[] : 3,
varqnt[] : 3
}
}
棘手的部分是'brand []','model []','varqnt []'可能不会全部存在。
我会尝试解释一下...... 基本上第一个对象是来自url params,2个选择框和1个输入,但由于我在不同的“位置”使用相同的形式,因此varqnt [](输入)可能不会被呈现。
我不确定是否有人会理解我...但英语不是母语的借口:P
谢谢,如果我写了一些不完整的抱歉:(
答案 0 :(得分:1)
您可以通过两个循环实现此目的。例如:
var obj = {
"brand[]": [12, 2, 3],
"model[]": [1, 2, 32],
"varqnt[]": [1, 21, 3]
};
var newObj = {};
Object.keys(obj).forEach(function(key) {
obj[key].forEach(function(el, i) {
if (typeof newObj['row-' + i] == "undefined") {
newObj['row-' + i] = {};
}
newObj['row-' + i][key] = el;
});
});
alert(JSON.stringify(newObj, null, 4));

答案 1 :(得分:-1)
你可以做这样的事情并访问你对象中的每个元素
var newObj = {};
for (data in obj){
console.log(obj[data])
}