这是我的对象:
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)
通过知道横幅 ID,我可以访问任何代码范围的任何数据,这就是我选择这种模式的原因。问题是我需要在创建新对象后在 example
中添加新对象。例如,我需要将其插入示例中:
{"30":{"bannerId":"119","overlay":"3","type":"1",...}}
我不知道这是否可能。是吗?解决这个问题的一种方法是使用数组,因此示例是数组,每个键都携带对象,我可以将新键与对象插入数组。但我不确定这是否是正确的方法,因为 key 将以 200、300... 开头。console.log(example) 显示 200 之前的所有 key 均未定义。有这么多空 key 可以吗?还有其他更好的方法吗?
编辑:
我意识到这也可以通过对象来完成。问题是因为我试图将新属性直接分配给新对象,如下所示:
example[200].example3 = 2;
猜测创建示例对象就足够了。我缺少的是这一行:
example[200] = {}
感谢您的回答,现在可以了!
最佳答案
var example = {};
example["30"] = {"bannerId":"119","overlay":"3","type":"1"}
console.log(example);
如果它在循环内,您也可以尝试如下所示的操作。
var i = 0;
var example = {};
for (i=0; i<10; i++) {
example[i] = {bannerId : i+1 , someOtherItem : i + "Hello"}
}
console.log(example);
关于javascript 如何在创建对象后将新对象添加到对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31976221/