javascript如何在对象创建后将新对象添加到对象中

javascript如何在对象创建后将新对象添加到对象中,javascript,object,javascript-objects,Javascript,Object,Javascript Objects,这是我的目标: var example = {"119":{"bannerId":"119","overlay":"3","type":"1",...},"210":{"bannerId":"210","overlay":"3","type":"1",...},...} 通过这种方式,我可以非常轻松地访问或修改对象。例如,如果我想添加新属性,我只需将其称为: example[119].newProperty = 1; 并且非常容易访问它: alert(example[119].newProp

这是我的目标:

var example = {"119":{"bannerId":"119","overlay":"3","type":"1",...},"210":{"bannerId":"210","overlay":"3","type":"1",...},...}
通过这种方式,我可以非常轻松地访问或修改对象。例如,如果我想添加新属性,我只需将其称为:

example[119].newProperty = 1;
并且非常容易访问它:

alert(example[119].newProperty)
alert(example[210].type)
通过知道banner id,我可以访问任何代码范围内的任何数据,这就是我选择此模式的原因。问题是我需要在
示例
中添加新对象。例如,我需要将其放入示例中: {“30”:{“bannerId”:“119”,“overlay”:“3”,“type”:“1”,…}

我不知道这是否可能。它是?解决这个问题的一种方法是使用数组,例如数组,每个键都携带对象,我可以将新的键和对象一起推入数组。但我不确定这是否是正确的方法,因为键将以200,300开始。。。log(示例)显示200之前的所有键都未定义。有这么多空钥匙好吗?还有其他更好的方法吗

编辑:

我意识到这也可以用object来实现。问题是因为我试图将新属性直接指定给新对象,如下所示:

example[200].example3 = 2;
$.extend(true, example, { "30": { objectId: "201" }}); // deep copy
猜测创建示例对象就足够了。我缺少的是这一行:

example[200] = {}
谢谢你的回答,现在可以了

example[30] = {"bannerId":"119","overlay":"3","type":"1",...};
如果它在一个循环中,你也可以尝试下面的方法

var i = 0;
var example = {};
for (i=0; i<10; i++) {
  example[i] = {bannerId : i+1 , someOtherItem : i + "Hello"}
}

console.log(example);
var i=0;
var-example={};
对于(i=0;i
如果它在一个循环中,你也可以尝试下面的方法

var i = 0;
var example = {};
for (i=0; i<10; i++) {
  example[i] = {bannerId : i+1 , someOtherItem : i + "Hello"}
}

console.log(example);
var i=0;
var-example={};
对于(i=0;i
如果它在一个循环中,你也可以尝试下面的方法

var i = 0;
var example = {};
for (i=0; i<10; i++) {
  example[i] = {bannerId : i+1 , someOtherItem : i + "Hello"}
}

console.log(example);
var i=0;
var-example={};
对于(i=0;i
如果它在一个循环中,你也可以尝试下面的方法

var i = 0;
var example = {};
for (i=0; i<10; i++) {
  example[i] = {bannerId : i+1 , someOtherItem : i + "Hello"}
}

console.log(example);
var i=0;
var-example={};
对于(i=0;i),您始终可以访问(和分配)对象的临时键,即使您最初没有定义它们

因此,对于您的示例,您只需执行以下操作:

example["30"] = {... /*your new object*/...} 
您始终可以访问(和分配)对象的临时键,即使您最初没有定义它们

因此,对于您的示例,您只需执行以下操作:

example["30"] = {... /*your new object*/...} 
您始终可以访问(和分配)对象的临时键,即使您最初没有定义它们

因此,对于您的示例,您只需执行以下操作:

example["30"] = {... /*your new object*/...} 
您始终可以访问(和分配)对象的临时键,即使您最初没有定义它们

因此,对于您的示例,您只需执行以下操作:

example["30"] = {... /*your new object*/...} 

似乎要扩展对象,可以使用jQuery或下划线,大致如下所示:

example[200].example3 = 2;
$.extend(true, example, { "30": { objectId: "201" }}); // deep copy
如果您不想使用任何库,只需执行以下操作:

example["30"] = myObj["30"];

似乎要扩展对象,可以使用jQuery或下划线,大致如下所示:

example[200].example3 = 2;
$.extend(true, example, { "30": { objectId: "201" }}); // deep copy
如果您不想使用任何库,只需执行以下操作:

example["30"] = myObj["30"];

似乎要扩展对象,可以使用jQuery或下划线,大致如下所示:

example[200].example3 = 2;
$.extend(true, example, { "30": { objectId: "201" }}); // deep copy
如果您不想使用任何库,只需执行以下操作:

example["30"] = myObj["30"];

似乎要扩展对象,可以使用jQuery或下划线,大致如下所示:

example[200].example3 = 2;
$.extend(true, example, { "30": { objectId: "201" }}); // deep copy
如果您不想使用任何库,只需执行以下操作:

example["30"] = myObj["30"];