我正在尝试创建具有这种结构的JS对象
{ node1:
[ 'test1.1',
'test1.2'],
node2:
['test2.1',
'test2.2']
}
这是我的代码
for (var k = 0; k < keys.length; i++){
key = keys[k];
var result = {};
var r = [];
for (var i = 0; i < elements.length; i++){
r.push(elements[i]);
}
result[key] = r;
}
结果看起来与我的预期有些不同,并且不是有效的JSON:
{ node1:
[ 'test1.1',
'test1.2'] }
{ node2:
[ 'test2.1',
'test2.2' ] }
我不确定代码有什么问题。
答案 0 :(得分:1)
在var result = {};
循环外部声明for
,它将在当前在循环内部创建一个新对象时起作用。
var result = {};
for (var k = 0; k < keys.length; k++) {
key = keys[k];
var r = [];
for (var i = 0; i < elements.length; i++) {
r.push(elements[i]);
}
result[key] = r;
}
您在第一个循环中也有i++
,因此请将其更改为k++
,否则将出现无限循环。