【发布时间】:2022-12-03 11:59:53
【问题描述】:
我有一个 Vue 项目,需要在包含嵌套对象的数组中搜索特定对象,然后返回它。用户有一个用于搜索的文本输入字段,搜索应该以“title”为目标。
数据如下所示:
const data =
[{
"catId": "1",
"catTitle": "a",
"exampleArray": [{
"id": "111",
"title": "aaa"
}, {
"id": "222",
"title": "bbb"
}, {
"id": "333",
"title": "ccc"
}]
}, {
"catId": "2",
"catTitle": "b",
"exampleArray": [{
"id": "444",
"title": "ddd"
}, {
"id": "555",
"title": "eee"
}]
}, {
"catId": "3",
"catTitle": "c",
"exampleArray": []
}, {
"catId": "4",
"catTitle": "d",
"exampleArray": [{
"id": "555",
"title": "fff"
}]
}]
我努力了:
return data.filter(item => {
return item.catArray.filter(category=> {
return category.title.toLowerCase().includes(this.search.toLowerCase())
})
})
例如如果用户输入是“aaa”,应该返回:
[{
"catId": "1",
"catTitle": "a",
"exampleArray": [{
"id": "111",
"title": "aaa"
}]
}]
搜索还应返回所有匹配结果。
【问题讨论】:
标签: javascript arrays vue.js