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

标签 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].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/

相关文章:

c++:在另一个类的函数中返回对象

javascript - 如何使用 JavaScript 离线读取 JSON 文件?

javascript - 向数组(内置对象)添加自定义方法时的最佳实践

javascript - 完成后逃离 promise 链

javascript - 计数脚本标签

javascript - 将 "this"保留在变量中并将所有 "this"替换为该变量?

Javascript:jQuery.extend 对象与内联函数赋值

javascript - 在 Canvas 上创建弹跳框动画

java - 可以批准参数的类定义 - 带有对象和构造函数

javascript - 生成 x 个对象