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将该数组展平。您的开发控制台应该告诉您学生不存在。您的开发控制台应该告诉您学生不存在。