Arrays Typescript按另一个字符串数组筛选对象数组
我坚持使用我的typescript过滤器函数 我有一个对象数组:Arrays Typescript按另一个字符串数组筛选对象数组,arrays,angular,typescript,Arrays,Angular,Typescript,我坚持使用我的typescript过滤器函数 我有一个对象数组: [ { "id": 12345, "title": "Some title", "complexity": [ { "slug": "1" // my search term "name": "easy" }, { "slug": "2" // my search term "name": "middle"
[
{
"id": 12345,
"title": "Some title",
"complexity": [
{
"slug": "1" // my search term
"name": "easy"
}, {
"slug": "2" // my search term
"name": "middle"
},
{...}
我有一个具有允许复杂性的字符串数组:
public allowedComplexityArray:Array<string> = ["1"];
尝试:
我在return
子句中使用findIndex
而不是filter
,因此它不需要每次扫描整个数组。尝试:
我在return
子句中使用findIndex
而不是filter
,因此它不需要每次扫描整个数组
allowedMeals = meals.filter(meal => {
return meal.complexity.every(complexityObj => that.allowedComplexityArray.indexOf(complexityObj.slug) > -1)
});
let allowedMeals = data.filter(meal => {
return meal.complexity.findIndex(complexityObj =>
allowedComplexityArray.findIndex(m => m == complexityObj.slug) > -1) > -1
});