开发者

Javascript expression to define object's property name?

I'd lik开发者_运维技巧e to create this object...

object = {
  'object[1][var_name_1]' : 'value1',
  'object[1][var_name_2]' : 'value2',
};

I'm trying to it this way, but I'm getting error missing : after property id...

function getPrefix() {
  return 'object[1]';
}

object = {
  getPrefix() + '[var_name_1]' : 'value1',
  getPrefix() + '[var_name_2]' : 'value2',
}

What am I doing wrong? Or maybbe it is impossible to set object property name using js experession?

Thank you


You cant set variable properties using literal syntax, but you can set properties using [], after you've created the object:

myObject = {}
myObject["any_string_here"] = myValue


In an object literal, each property name can only be identifier rather than an expression, which means you can't use variables. You can only use the square bracket notation on an existing object, so if you have a variable you wish to use as a property name then you'll need to do it after the object is created:

var object = {
    '1': {};
};

object[1][var_name_1] = 'value1';
object[1][var_name_2] = 'value2';
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜