【发布时间】: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