首页 > 解决方案 > 使用变量获取 Javascript 对象属性?

问题描述

var classes = {
    English: {
        requirement: 40,
        Eng9: 'English 9',
        Eng9H: 'English 9 Honors',
        Eng10: 'English 10',
        Eng10H: 'English 10 Honors',
        Eng11: 'English 11',
        APLang: 'AP Language',
        Eng12: 'English 12',
        Eng12H: 'AP Literature'
    },
};

for (var subject in classes) {
  console.log('processing subject: ' + subject)
  for (var classtitle in classes[subject]) {
    console.log('processing class: ' +classtitle);
    if (classtitle=='requirement') {
      continue;
    } else {
      console.log('subject: '+subject)
      console.log('classtitle: '+classtitle)
      console.log('classtext: ' + classes.subject.classtitle)
    }
  }
}  

console.log(classes.English.Eng9)

我开始学习 javascript,我的第一个项目是为我的学校分类的东西。在 javascript 中获取对象属性时,我不知道如何使用变量。例如,底部的 console.log 正确输出'English 9',但上面的代码一直识别classes.subject为未定义。作为参考,我希望输出类似于

English 9
English 9 Honors
English 10

等等

我也试过

console.log('classtext: ' + classes[subject[classtitle]])

那只是输出classtext: undefined

标签: javascriptobjectjavascript-objects

解决方案


你可以得到classtext使用:

console.log('classtext: ' + classes[subject][classtitle])

推荐阅读