【发布时间】:2020-04-21 19:22:51
【问题描述】:
有一个包含对象的数组和一个选项数组如何按键值过滤内部对象数组?
下面是一个例子:
let test = [{
"options": [{
"label": "Audi",
"value": 10
},
{
"label": "BMW",
"value": 18
},
{
"label": "Mercedes Benz",
"value": 116
},
{
"label": "VW",
"value": 184
}
],
"label": "test1"
},
{
"options": [{
"label": "Adler",
"value": 3664
},
{
"label": "Alfa Romeo",
"value": 3
},
{
"label": "Alpine",
"value": 4
}
],
"label": "test2"
}
]
我如何取回对象:
{
"label": "Audi",
"value": 10
}
如果我用关键字Audi过滤
return label.toLowerCase().includes(inputValue.toLowerCase());
我尝试了以下
test.map((k) => {
res = k.options.filter((j) => {
inputValue.toLowerCase();
if (j.label.toLowerCase().includes(inputValue.toLowerCase())) {
return j;
}
});
});
【问题讨论】:
-
filter()用于创建一个包含满足条件的元素的新数组。如果要返回满足条件的元素,请使用find()。 -
你没有返回
res。
标签: javascript arrays object filter keyword