我是JavaScript的新手,我想创建一个以下结构的对象
var result = {
0: {'key1' : value1,'key2' : value2 },
1: {'key3' : value3, 'key4' : value4 },
}
有人请帮帮我。谢谢你提前
答案 0 :(得分:8)
您的代码也有效,但它会创建一个对象。如果你想使用一个实际的数组,它可能是这样的:
var result = [
{'key1' : value1, 'key2' : value2 },
{'key3' : value3, 'key4' : value4 }
];
请注意外部括号从{}
到[]
的更改以及顶级键的删除。
修改强>
要动态创建这样的数组,您可以使用以下内容:
var result = []; // init empty array
result.push( {'key1' : value1, 'key2' : value2 } ); // insert a value
for( var i=0; i<10; i++ ) {
result.push( {'key1' : i, 'key2' : i } ); // insert some more values in a loop
}
答案 1 :(得分:4)
您发布的对象是JS地图对象
var result = {
0: {'key1' : value1,'key2' : value2 },
1: {'key3' : value3, 'key4' : value4 }
}
您可以像访问关联数组一样访问它。
result[0][key1]
或者这样
result[0].key1
如果您需要一个对象数组
var result = [
{'key1' : value1,'key2' : value2 },
{'key3' : value3, 'key4' : value4 }
];
您可以像之前的示例一样访问它,在这种情况下,您不需要声明索引。
<强>更新强>
对于地图对象创建,您还可以使用@Sirko发布的循环。唯一的区别在于可以通过以下两种方式完成的值分配:
var result = {};
result[0] = {'key1' : value1,'key2' : value2 };
result.myOtherObj = {'key1' : value1,'key2' : value2 };
地图内容与
相同var result = {
0: {'key1' : value1,'key2' : value2 },
myOtherObj: {'key1' : value1,'key2' : value2 }
};
答案 2 :(得分:1)
如果您想动态创建它可能是一个解决方案:
var final_result = Array();
var element_1 = {"key1" : 2,"key2" : 3};
var element_2 = {"key3" : 2,"key4" : 3};
final_result.push(element_1);
final_result.push(element_2);