【发布时间】:2018-10-17 01:42:34
【问题描述】:
我有一个对象数组,其中每个对象都可以有一个对象数组。
var mylist = [
{
"email" : null,
"school" : "schoolA",
"courses": [
{
"name" : 'ABC',
"type" : "chemistry"
},
{
"name" : 'XYZ',
"type": "math"
}
]
},
{
"email" : null,
"school": "schoolB"
}
];
如果课程类型之一是化学,我想返回课程名称。 课程类型是唯一的,即使它们有些重复,我们也会返回第一个。
var result = mylist.some(function (el) {
el.courses && el.courses.some(function(u) {
if (u.type === 'chemistry') {
return u.name;
};
})
});
console.log('outcome:', result);
我的代码在这个阶段不起作用。
【问题讨论】:
-
您必须使用
find函数找到正确的课程对象,然后返回找到的课程名称。函数some只返回一个布尔值和给定谓词的值。
标签: javascript arrays multidimensional-array ecmascript-6