我有一个JavaScript对象,看起来像这样:
var myTextOptions = {
'cartoon': {
comic: 'Calvin & Hobbes',
published: '1993'
},
'character names': {
kid: 'Calvin',
tiger: 'Hobbes'
}
}
字符串
我可以使用myTextOptions.cartoon.comic
或其他工具轻松访问cartoon
的属性。但是,我无法正确获取访问kid
的语法。我尝试了以下方法,但没有成功:
myTextOptions.character names.kid
myTextOptions."character names".kid
myTextOptions.character\ names.kid
myTextOptions.'character names'.kid
myTextOptions.["character names"].kid
myTextOptions.character%20names.kid
型
4条答案
按热度按时间kq0g1dla1#
使用ECMAscript的“括号表示法”:
字符串
你可以用任何一种方式,阅读和写。
欲了解更多信息,请阅读此处:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects
wmtdaxz32#
JavaScript对象的属性也可以使用括号表示法访问或设置(更多细节请参见property accessors)。对象有时被称为关联数组,因为每个属性都与一个可用于访问它的字符串值相关联。因此,例如,您可以访问myCar对象的属性如下:
字符串
更多信息,请阅读Working with JS Objects。
所以在你的例子中是
myTextOptions['character names'].kid;
bvpmtnay3#
我们也可以通过-
myTextOptions[ 'character names' ]['kid']
;当我们有连续的键由空格组成时,这很有用。
nnvyjq4y4#
让我在这里分享我的解决方案,我使用VueJs和类型脚本。
我得到了下面的json来解析并在UI中显示
字符串
我在Typescript中创建了以下模型干涉
型
我调用了API,如下所示:
型
在JSX中使用:
型
同样也可以在React和Angular中工作。