如何从变量设置 JS 对象属性名称

2022-08-30 01:07:55

我需要动态设置JS对象属性名称。

for(i=1; i<3; i++) {
    var key  = i+'name';

    data = {
        key : 'name1',
    }
}

结果应该是:

data = {
    1name: 'name1'
    2name: 'name1'
}

答案 1

您必须使用表示法来动态设置键。[]

var jsonVariable = {};
for(i=1; i<3; i++) {        
 var jsonKey  = i+'name';
 jsonVariable[jsonKey] = 'name1';

}

现在,在 ES6 中,您可以使用对象文本语法动态创建对象键,只需将变量包装在[]

var key  = i + 'name';
data = {
    [key] : 'name1',
}

答案 2
var jsonVariable = {};
for(var i=1; i < 3; i++) {
  jsonVariable[i + 'name'] = 'name' + i;        
}