我正在学习在数组上使用现代数组方法,但是有没有办法可以在数组对象上使用这些方法?如果不是,将整个对象存储到数组中是否更好?
var course = {
name: "My Javascript Tutorial",
awesome: true,
teachers: ["Brandon", "Shane", "Mike"],
students: [
{
name: "Cliff",
computer: {
OS: "macOS",
type: "iMac"
}
},
{
name: "Arthur",
computer: {
OS: "macOS",
type: "Macbook Pro"
}
},
{
name: "Donald",
computer: {
OS: "macOS",
type: "Windows PC"
}
}
]
};
course.forEach(function(item){
console.log(course.students[item].name + 'uses a ' + course.students[item].computer.type);
})
这是我遇到的错误。
类型错误:无法读取未定义的属性“学生”
最佳答案
您要迭代的数组是 course.students
,因此引用 course.students
并对其调用 forEach
。
forEach
的第一个参数将是要迭代的项目(数组的一个元素)。由于您的元素是对象,因此请引用它们的 name
和 computer
属性以正确记录它们:
var course = {
name: "My Javascript Tutorial",
awesome: true,
teachers: ["Brandon", "Shane", "Mike"],
students: [
{
name: "Cliff",
computer: {
OS: "macOS",
type: "iMac"
}
},
{
name: "Arthur",
computer: {
OS: "macOS",
type: "Macbook Pro"
}
},
{
name: "Donald",
computer: {
OS: "macOS",
type: "Windows PC"
}
}
]
};
course.students.forEach(function(item){
console.log(item.name + 'uses a ' + item.computer.type);
})
关于javascript - 如何在 Javascript 中对数组对象使用 forEach 方法或任何数组方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57749794/