gpt4 book ai didi

javascript - 按 2 个或更多字符串过滤对象

转载 作者:搜寻专家 更新时间:2023-10-30 21:16:41 25 4
gpt4 key购买 nike

我有 2 个对象,一个类(class)列表和一个用户。

类(class)列表是一个包含很多类(class)的数组:

[
{
"id": 12345,
"title": "Some title",
"type": [
{
"id": 4700,
"slug": "someType",
"name": "someTypeName"
}
],
"difficulty": [
{
"id": 4704,
"slug": "4",
"name": "hard"
}
],..
},
{...}

用户还有一些字段:

{
"difficulty": 4, // the difficulty->slug
"type": "someType" // the type->slug
}

我的任务:

我想找到类(class)和用户之间的最佳匹配。

在此示例中,用户正在寻找 type.slug == someTypedifficulty.slug == 4。 slug 始终是搜索词。

我的第一次尝试是:

courseList.filter((course) => {
if (course.type.indexOf(that.userData.type) != -1) {
return course; // dont work
}
});

编辑:我需要在前端显示 nameid 属性,“slug”始终是搜索术语。

最佳答案

filter 函数采用返回 booleanfunction(在您的例子中是 arrow 函数),因此试试这个:

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
});

关于javascript - 按 2 个或更多字符串过滤对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41549290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com