Я пытаюсь отфильтровать массив объектов ниже переменной search
, которая является строкой.Таким образом, пользователь может искать по названию, году или имени людей
array = [{
"title": "Test",
"year": 2018,
"people": [
{
"name": "person1"
},
{
"name": "person2"
}],
},
{
"title": "Test2",
"year": 2018,
"people": [
{
"name": "person3"
},
{
"name": "person4"
},
{
"name": "person5"
}],
},...]
Я написал следующую функцию, которая прекрасно работает для заголовка и года , но яне мог понять, как искать массив people внутри функции.Я знаю, как это сделать без ES6, но я предпочитаю ES6, который все еще сбивает меня с толку:
filteredArray() {
let search = this.search.toLowerCase();
return this.array.filter(function (item) {
return Object.values(item).some(val =>
String(val).toLowerCase().includes(search));
})
},
this.search
- это v-model
, в котором хранятся значения, введенные пользователями. Вот это Codepen
Я ценю вашу помощь:)