У меня есть таблица данных vuetify, которую я хочу отфильтровать: https://codepen.io/rasenkantenstein/pen/MWYEvzK. У меня есть фильтр, содержащий строку, например, «Лед». Теперь я хочу получить все записи, содержащие ингредиент, имя которого содержит лед.
[
{
name:
'Frozen Yogurt',
calories: 159,
fat: 6.0,
carbs: 24,
protein: 4.0,
ingredients:
[
{
ingName: 'Yogurt',
ingMeasure: 'gramm',
ingAmount: 100,
},
{
ingName: 'Ice',
ingMeasure: 'ml',
ingAmount: 50,
}
]
},
{
name:
'Vanilla Ice Cream',
calories: 100,
fat: 2.0,
carbs: 25,
protein: 2.0,
ingredients:
[
{
ingName: 'Milk',
ingMeasure: 'ml',
ingAmount: 100,
},
{
ingName: 'Vanilla Sugar',
ingMeasure: 'g',
ingAmount: 50,
},
{
ingName: 'Ice',
ingMeasure: 'g',
ingAmount: 50,
}
]
}
]
Я попытался (очень похоже на ладью ie) реализовать фильтр в строке 61.
filterIng (value) {
console.log(value)
if (!this.ingFilterValue) {
return true;
}
value.filter(x => {return x.ingName === this.ingFilterValue})
}
Функция filterIng уже выполняет итерацию каждой записи (как видно из консоли). «Значение» содержит массив объектов, один из которых называется ingName.
При фильтрации «Ice» (ingFilterValue = «Ice») обе записи должны возвращать true. В случае ingFilterValue = "Yog" только запись 1 должна возвращать true, а record2 должна возвращать false.