This question already has answers here:
Dynamically access object property using variable
                                
                                    (15个答案)
                                
                        
                2年前关闭。
            
        

我问自己一个问题,以优化我的JavaScript代码。
我目前正在做这样的事情:

Data.json:

{
  "House" :
    { "bedroom"  : "4" }
    { "kitchen"  : "1" }
    { "bathroom" : "2" }
}


Choose.js:

var Data = require('./Data.json');

printData = function(id) {
  console.log(getData(id));
}

getData = function(id) {
  switch (id) {
    case "bedroom":
      return Data.House.bedroom;
    case "kitchen":
      return Data.House.kitchen;
    case "bathroom":
      return Data.House.bathroom;
    default:
      break;
  }
}


而且我想知道是否可以使用特殊的语法来优化它,例如,如果我们仅具有:

var Data = require('./Data.json');

printData = function(id) {
  console.log(Data.House.{ id });
}


我知道这对您来说可能是一个愚蠢的问题,但是如果您告诉我是否可行,这将很有帮助。我希望我可以避免在我的项目中使用很长的Switch Case。

谢谢。

最佳答案

使用[]表示法

printData=function(id){
    return Data.House[id];
}

10-06 12:34