最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Javascript expression to define object's property name? - Stack Overflow

programmeradmin3浏览0评论

I'd like 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

I'd like 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

Share Improve this question asked May 18, 2010 at 8:09 KirzillaKirzilla 16.6k27 gold badges89 silver badges131 bronze badges 1
  • 1 possible duplicate of Using a variable for a Javascript object key – Bergi Commented Apr 15, 2013 at 0:18
Add a ment  | 

2 Answers 2

Reset to default 5

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)

  1. 暂无评论