2013-10-27 38 views
0

這裏是我的functtion一種更好的方式來動態獲取嵌套對象的值在javascript

var getLocaleDefault = function(settings){ 
    var defaultLocale = settings.defaultLocale; 
    eval('var locale = settings.locale.'+defaultLocale); 
    return locale; 
} 

設置是一個JSON

{ 

    "classes": 8, 
    "config": "classConfig", 
    "locale": { 
     "en": "localeEn" 
    }, 
    "defaultLocale": "en" 
} 

由於代碼的JSON.parse() ED對象是:我試圖讓object.locale.en只是因爲defaultLocaleen。除了評估以外,有沒有更好的方法來實現我想要做的?或者這是做這些作品的最佳/有效的方式?

回答

1
var locale = settings.locale[defaultLocale]; 
return locale; 

更妙的是,

var getLocaleDefault = function(settings){ 
    return settings.locale[settings.defaultLocale]; 
} 
+0

感謝。 (我真的在笑自己:)) – cipher

+0

@cipher不客氣:)請考慮upvoting和接受這個答案,如果它可以幫助你:) – thefourtheye

+0

7分鐘還可以接受:)(Upvoted已經) – cipher

相關問題