Jon*_*ist 12 javascript loops properties object
我希望那一天能找到你.
所以我有一个没有属性的对象.我正在尝试使用循环向此对象添加多个属性.添加到循环中的每个属性将多次出现在对象中,具体取决于循环运行的次数,每个新属性递增1.
所以我有这样的事情:
myObject = { };
for(i = 0; i < 2; i++){
myObject.propA + i = foo;
myObject.propB + i = bar;
};
Run Code Online (Sandbox Code Playgroud)
我希望得到这样的东西:
myObject.propA0 = foo;
myObject.propB0 = bar;
myObject.propA1 = foo;
myObject.propB2 = bar;
Run Code Online (Sandbox Code Playgroud)
根据循环运行的次数,提供动态生成的一堆好对象.但我似乎没有得到这个.那么在创建和分配变量时,我究竟如何将变量从循环中提供给属性?
bfa*_*tto 12
正如其他用户所说,你必须使用括号表示法来通过名称字符串来引用属性:
myObject['propA' + i] = 'foo';
Run Code Online (Sandbox Code Playgroud)
但是为什么不使用对象数组,而不是使用具有相似编号属性名称的单个对象?像这样的东西:
var myArray = [];
for(i = 0; i < 2; i++){
myArray.push({
propA: 'foo',
propB: 'bar'
});
};
Run Code Online (Sandbox Code Playgroud)
这应该产生:
[
{ propA: 'foo', propB: 'bar'},
{ propA: 'foo', propB: 'bar'}
]
Run Code Online (Sandbox Code Playgroud)
在我看来,它看起来更干净.
使用array-access方法设置属性.
myObject = { };
for(i = 0; i < 2; i++){
myObject['propA' + i] = foo;
myObject['propB' + i] = bar;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27897 次 |
| 最近记录: |