【发布时间】:2019-12-05 03:25:30
【问题描述】:
让年龄 = 数据 .filter(isDog) .map(狗年) .reduce(sum);
毫升/小时
我想找到访问 javascript 对象中数组元素的最佳方式。 例如:我想找到每门课程的第一个教师姓名和第一个专业。
var students =
{
deptartment:[
{
name:'Computer Science',
age:20,
Course:[
{ id: 100000
name:'Object Oriented Programming',
faculty:[
{
id:123,
name:'John',
Specialization: [
{name: 'science'},
{name: 'Physics'}
]
}
]
},
{ id: 100001
name:'C#',
faculty:[
{
id:124,
name:'Denis',
Specialization: [
{name: 'Ecnonomics'},
{name: 'Physics'}
]
}
]
}
],
}
]
};
我知道我可以通过
获得学院名称和专业 var courses= deptartment && deptartment.Course ;
var facultyWithSpecialization= {};
if(courses){
courses.forEach(course =>{
var fname = course.faculty && course.faculty[0].name;
var s= course.faculty && course.faculty.Specialization;
facultyWithSpecialization[fname] = s && s[0].name;
})
}
使用 Object.assign({}, deptartment.Course) 代替 department.Course
尝试使用以下代码,但没有太大区别。
var courses=Object.values(Object.assign({}, deptartment.Course));
var fname = Object.values(Object.assign({}, course.faculty[0].Specialization[0]));
期待
'John': 'science'
'Denis': 'Ecnonomics'
【问题讨论】:
-
这个问题没有JSON。
-
A.这是一个 JavaScript 对象。 JSON是字符串编码
-
B.您发布的问题充满了拼写错误,包括在代码中。这可能是你的问题
-
“我想要第一个教师姓名和每门课程的第一个专业” - 那为什么结果会包含
Denis?这不是第一个教职员工的名字。你能澄清一下吗? -
学院名称和专业(第一)。
标签: javascript arrays json ecmascript-6 javascript-objects