Far*_*gho 2 javascript typescript
我有2个对象,一个课程列表和一个用户.
课程列表是一个包含很多课程的数组:
[
{
"id": 12345,
"title": "Some title",
"type": [
{
"id": 4700,
"slug": "someType",
"name": "someTypeName"
}
],
"difficulty": [
{
"id": 4704,
"slug": "4",
"name": "hard"
}
],..
},
{...}
Run Code Online (Sandbox Code Playgroud)
用户还有一些字段:
{
"difficulty": 4, // the difficulty->slug
"type": "someType" // the type->slug
}
Run Code Online (Sandbox Code Playgroud)
我的任务:
我想找到课程和用户之间的最佳匹配.
在此示例中,用户正在寻找type.slug == someType和a difficulty.slug == 4.slu is始终是搜索词.
我的第一次尝试是:
courseList.filter((course) => {
if (course.type.indexOf(that.userData.type) != -1) {
return course; // dont work
}
});
Run Code Online (Sandbox Code Playgroud)
编辑:我需要在前端显示name和id属性,"slug"始终是搜索词.
该filter函数需要一个function(在你的情况下是arrow函数)返回一个,boolean所以试试这个:
var filterredList = courseList.filter(course => {
return course.type.filter(type => type.slug == that.userData.type).length > 0
&& course.difficulty.filter(difficulty => difficulty.slug == that.userData.difficulty).length > 0
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |