带有var的Javascript方法[重复]
Posted
技术标签:
【中文标题】带有var的Javascript方法[重复]【英文标题】:Javascript methods with a var in it [duplicate] 【发布时间】: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 已删除。谢谢!
【参考方案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
【讨论】:
以上是关于带有var的Javascript方法[重复]的主要内容,如果未能解决你的问题,请参考以下文章
带有const vs var的Javascript全局范围[重复]
javascript var或not var,有啥区别? [复制]