JS noob在这里。如果我有一个字符串,如何从与该字符串同名的对象中调用属性?

var carrot = {
    'vitaminA': 150,
    'vitaminC': 100
};

var cucumber = {
    'vitaminA': 10,
    'vitaminC': 12

};

var vegetable = 'cucumber'
alert(vegetable.vitaminC) // this doesn't work


注意:这是我正在处理的问题的简化版本,所以我不能简单地说出alert(cucumber.vitaminC)-我必须基于字符串对对象进行操作

最佳答案

您可以像这样:

window[vegetable].vitaminC


但我强烈建议将这些家伙包含在不是全局对象window的对象中:

var vegetables = {
  cucumber : {
    vitaminA: 10,
    vitaminC: 12
  },
  carrot : {
    vitaminA: 150,
    vitaminC: 100
  }
};

var vegetable = 'cucumber';
alert(vegetables[vegetable].vitaminC);

08-19 07:14