Javascript 从数组内的对象获取属性值

Javascript 从数组内的对象获取属性值,javascript,Javascript,我试图从属于类的每个数组中的对象中获取类代码属性值。我知道我的数据很复杂 这是我的学生阵列: student = [ {"class":[{ "code":"PSJ001", "professor":"McHale", "description":"course description"}] }, {"class":[{ "code":"ENG303", "profe

我试图从属于类的每个数组中的对象中获取类代码属性值。我知道我的数据很复杂

这是我的学生阵列:

student = [
     {"class":[{
          "code":"PSJ001",
          "professor":"McHale",
          "description":"course description"}]
     },
     {"class":[{
          "code":"ENG303",
          "professor":"Dench",
          "description":"course description"}]
      },
     {"class":[{
          "code":"SCI003",
          "professor":"Biju",
          "description":"course description"}]
     }
]
我想得到的是

['PSJ001','ENG303','SCI003']
这就是我所拥有的

let classCodes = [];
for (const i in student) {
   classCodes = classCodes.concat(student[i].map(obj => {
       return obj.code;
   }));
}
我做错了什么?用jsx编写,您可以使用它来获得所需的结果

var student=[{班级:[{代码:PSJ001,教授:麦克海尔,描述:课程描述}]},{班级:[{代码:英语303,教授:丹奇,描述:课程描述}]},{班级:[{代码:SCI003,教授:比丘,描述:课程描述}]}; var result=student.mapfunction{ 返回e.class[0]。代码; }; console.logresult您可以使用来获得所需的结果

var student=[{班级:[{代码:PSJ001,教授:麦克海尔,描述:课程描述}]},{班级:[{代码:英语303,教授:丹奇,描述:课程描述}]},{班级:[{代码:SCI003,教授:比丘,描述:课程描述}]}; var result=student.mapfunction{ 返回e.class[0]。代码; };
console.logresult基本上这将可靠地工作:

student.map(o => o.class.map(c => c.code)).reduce((obj, arr) => arr.push(...obj) && arr, []);

首先我们使用.map来获取类,然后在内部再次使用.map来获取代码。这给了我们一个数组。然后我们使用.reduce来展平该阵列。

基本上,这将可靠地工作:

student.map(o => o.class.map(c => c.code)).reduce((obj, arr) => arr.push(...obj) && arr, []);

首先我们使用.map来获取类,然后在内部再次使用.map来获取代码。这给了我们一个数组。然后我们使用.reduce将该数组展平。

您的开发控制台应该告诉您学生不存在。您的开发控制台应该告诉您学生不存在。