我是 JavaScript 新手,我想创建一个具有以下结构的对象
var result = {
0: {'key1' : value1,'key2' : value2 },
1: {'key3' : value3, 'key4' : value4 },
}
有人请帮帮我。在此先感谢
我是 JavaScript 新手,我想创建一个具有以下结构的对象
var result = {
0: {'key1' : value1,'key2' : value2 },
1: {'key3' : value3, 'key4' : value4 },
}
有人请帮帮我。在此先感谢
您的代码也是有效的,但它会创建一个对象。如果你想使用一个实际的数组,它可能看起来像这样:
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
}
您发布的对象是一个 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 }
};
如果您想动态创建它可能是一个解决方案:
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);