javascript - 如何通过参数获取Object的子节点?
问题描述
代码如下:
let china = { zhejiang: {hangzhou: ’xihu’ }}// xihuconsole.log(china.zhejiang.hangzhou)// xihuconsole.log(china[’zhejiang’][’hangzhou’])// 能否通过 key 来访问 china 使之能输出 xihuconsole.log( china[key] )
问题解答
回答1:let china = { zhejiang: {hangzhou: ’xihu’ }};//改造结构Object.keys(china).forEach(function(key){ Object.keys(china[key]).forEach(function(subkey){china[subkey] = china[key][subkey]; });});console.log( china[’hangzhou’] );/* xihu*/回答2:
你的意思是这样?
let key = ’zhejiang’;console.log( china[key] )
还是这样?es2015允许使用变量做为key:
var b = ’foo’;var o ={ [b] :’aa’};o[b]//aa
如果不是的话,直接china[key],key会因为没有定义报错吧
回答3:不能这样,除非你for...in遍历一下,输出xihu
相关文章:
1. css - 关于HTML中width和height的疑问(这个提问的标题不好起)2. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?3. mysql - 求一个sql语句,比较简单。4. java - 接口中的成员变量怎么不是常量了?5. 在mac下出现了两个docker环境6. html5 - bootstrap修改样式的问题7. java - 如图,jsp页面的form中的action是怎么映射到这个位置的?为什么不写dynUser就可以映射到save?8. HTML5表单必填属性设置自定义验证消息?9. javascript - 在 model里定义的 引用表模型时,model为undefined。10. javascript - 清空Chrome缓存的疑问

网公网安备