对象中的对象使用JavaScript添加属性
Object within object add property with JavaScript
我在一个对象中有一个对象。它看起来像这样。
var myLib = {
object1: {}
}
我的基本问题是我想以这样的结局结束。所以我想动态地这样做,直到运行时我才知道属性或其他对象。
var myLib = {
object1: ({"A1":({"Color":"Blue",
"height":50})
})
}
阅读Stack上的此处;溢出我知道我可以在对象中创建一个对象,只需执行以下操作:
myLib.Object1["A1"] = "Something"
但这并不能产生我想要的东西。
我尝试了这种语法,我知道这是错误的,但基本上是
mylib.Object1["A1"].["color"]="Blue";
所以问题就在这里。我想在"mylib.object"下创建对象"A1",并立即将属性color="blue"添加到"A1"中。我需要为其他几个属性做这件事,但如果我能为其中一个属性找到方法,我就能为其他属性找到方法。我该如何完成这项任务?
请不要jQuery。我想要的只是普通的旧JavaScript。**
一旦我创建了对象和属性,我想我可以使用for
循环来循环该对象的属性。像这样:
for(key in mylib.Object1["A1"]){}
对吧?
您可以像这样从头开始创建:
var myLib = {};
myLib.object1 = {};
// assuming you get this value from your code somewhere
var x = "A1";
myLib.object1[x] = {Color: "Blue", height: 50};
或者,如果所有值都在变量中:
var myLib = {};
myLib.object1 = {};
// assuming you get this value from your code somewhere
var x = "A1";
var colorProp = "Color";
var colorPropValue = "Blue";
var heightProp = "height";
var heightPropValue = 50;
myLib.object1[x] = {}; // create empty object so we can then add properties to it
myLib.object1[x][colorProp] = colorPropValue; // add one property
myLib.object1[x][heightProp] = heightPropValue; // add another property
这些语法产生相同的结果:
myLib.object1.A1 = {};
var x = "A1";
myLib.object1[x] = {};
第一个只能在编写代码时知道属性名称,并且属性名称符合javascript标识符的正确规则时使用。第二个可以在任何时候使用,但通常在属性名位于变量中或不符合javascript标识符规则时使用(如以数字开头)。
相关文章:
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Meteor-将选定窗体中的对象添加到集合中
- 在play2框架中向json对象添加下拉列表项
- 如何在javascript上向数组的对象添加新元素
- JSON到对象数组,并向每个对象添加项
- 如何将一个对象添加到每个对象数组中
- 向Angular作用域对象添加对象数组——TypeError
- CoffeeScript将对象添加到数组中
- 如何从Addon SDK向选项卡对象添加进度侦听器
- 使用ja将对象添加到HTML画布中
- 向通过ReST JSON调用生成的Angular Javascript对象添加方法
- 将新对象添加到本地存储
- 为什么可以'我们在函数体中为函数对象添加属性,就像在javascript中为对象文字添加属性一样
- 使用游标循环将JS对象添加到数组中
- 向调用全局javascript函数的对象添加处理程序
- 将另一个文件中的对象添加到单独文件中的阵列中
- 将对象添加到数组中
- 为新对象添加函数,将对象添加到数组中.理解困难'这'关键字
- sequelize为找到的对象添加值
- 向对象添加新方法和值,同时避免重复