【发布时间】:2019-04-14 08:09:51
【问题描述】:
对于我的 React.js 项目,我想创建一个嵌套数组的搜索过滤器。用户将使用输入字段进行搜索。
var dataExample = [
{
type: "human", details: [
{id: 1, name: "Peter", description: "friendly, black-hair"},
{id: 5, name: "Susan", description: "blond"}
]
},
{
type: "animal", details: [
{id: 2, name: "Will", description: "lazy, cute"},
{id: 3, name: "Bonny", description: "beautiful"}
]
}
];
在我的搜索输入字段中,我想在“描述”中查找“名称”或。 数组的数据结构应该保持不变。
当我搜索“friendly”或“Peter”时的输出应该是:
[
{
type: "human", details: [
{id: 1, name: "Peter", description: "friendly, black-hair"}
]
}
];
现在我尝试了这样的事情:
let myfilter = dataExample.filter((data) => {
data.details.filter((items) => {
return (items.type.indexOf("human") !== -1 || //input of user
items.description.indexOf("friendly"))
})
})
不幸的是,这不是它的工作方式。有谁能够帮我? Lodash 也没有问题。非常感谢。
【问题讨论】:
标签: javascript arrays search filter nested