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. 在應用配置文件 app.php 中找不到’route_check_cache’配置項2. html按鍵開關如何提交我想需要的值到數據庫3. gvim - 誰有vim里CSS的Indent文件, 能縮進@media里面的4. Android中能不能判斷一個數據庫是create來的,還是open來的?5. HTML 5輸入框只能輸入漢字、字母、數字、標點符號?正則如何寫?6. javascript - 請教如何獲取百度貼吧新增的兩個加密參數7. 跟著課件一模一樣的操作使用tp6,出現了錯誤8. PHP類屬性聲明?9. javascript - 求助canvas繪制馬賽克的問題,老是取色不準10. html - 微信瀏覽器h5<video>標簽問題
