【问题标题】:Using variables to get Javascript Object properties? [duplicate]使用变量获取 Javascript 对象属性? [复制]
【发布时间】:2020-03-21 16:49:06
【问题描述】:
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

【问题讨论】:

  • 当你想通过变量访问属性时使用计算属性,即object[variable]
  • @CodeManiac 我试过了我也试过了 console.log('classtext: ' + classes[subject[classtitle]]) 并且只是输出 undefined 出于某种原因。
  • 你能发布完整的类对象吗?
  • var classes = { 英语:{ 要求:40,Eng9:'English 9',Eng9H:'English 9 Honors',Eng10:'English 10',Eng10H:'English 10 Honors',Eng11 : '英语 11', APLang: 'AP 语言', Eng12: '英语 12', Eng12H: 'AP 文学' }, };目前这是我的整个班级。
  • 你需要使用classes[subject][classtitle]

标签: javascript object javascript-objects


【解决方案1】:

您可以使用以下方式获取classtext

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

【讨论】:

  • 非常感谢。我试图弄清楚这么久。我一直把括号放在括号里。现在更有意义了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
  • 1970-01-01
  • 2012-11-28
  • 2014-08-04
  • 2020-12-26
  • 2022-12-04
  • 1970-01-01
相关资源
最近更新 更多