【问题标题】:Javascript methods with a var in it [duplicate]带有var的Javascript方法[重复]
【发布时间】:2018-12-07 06:35:49
【问题描述】:

我试图在对象中获取对象的值,但键值是一个变量,所以我不知道如何让这段代码工作:

var res = 'Hello';
var greetings = {
  'Hello': {'lang':'EN' ,'goodbye': 'Goodbye'},
  'Bonjour': {'lang':'FR', 'goodbye': 'Aurevoir'}
}

以后我想用这个:

greetings.res.lang

得到:'EN',现在我得到'undefined',因为它计算表达式greetings.res而不是greeting.Hello,所以它在列表中找不到它。

编辑:感谢你们的快速回答!

【问题讨论】:

  • greetings[res].lang
  • @SergioTulentsev 发布时出现错误...后来它编辑发布的是var greetings = { 'Hello': {'lang':'EN' ,'goodbye': 'Goodbye'}, 'Bonjour': {'lang:'FR', 'goodbye': 'Aurevoir'} }
  • @SergioTulentsev 是的。当我检查时,JSON 不好,这就是我这样评论的原因
  • @SergioTulentsev 已删除。谢谢!

标签: javascript object methods var


【解决方案1】:

How to create a Dictionary with Key/Value pairs

var res = 'Hello';
var greetings = {
  'Hello': {'lang':'EN' ,'goodbye': 'Goodbye'},
  'Bonjour': {'lang':'FR', 'goodbye': 'Aurevoir'}
}

console.log(greetings[res].lang);

【讨论】:

    【解决方案2】:

    这应该适合你:

    var res = 'Hello';
    var greetings = {
      'Hello': {'lang':'EN' ,'goodbye': 'Goodbye'},
      'Bonjour': {'lang': 'FR', 'goodbye': 'Aurevoir'}
    }
    
    alert(greetings[res].lang);
    

    【讨论】:

      【解决方案3】:

      当你有动态键时使用[]

      greetings[res].lang
      

      greetings[res]['lang']
      

      【讨论】:

        【解决方案4】:

        你可以这样访问它:

        greetings[res].lang
        

        【讨论】:

          猜你喜欢
          • 2011-10-17
          • 2018-03-13
          • 1970-01-01
          • 2020-09-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多