Для моего проекта 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"}
]
}
];
В моем поле ввода-поиска я хочу найти «name» или что-то в «description». Структура данных массива должна оставаться прежней.
Вывод, когда я ищу "дружелюбный" или"Питер", должен быть:
[
{
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"))
})
})
К сожалению, это не так. Кто-нибудь может мне помочь? С Лодашем тоже не будет проблем. Большое вам спасибо.