jeerjmin
@jeerjmin

Как применить filter к вложенному массиву?

Здравствуйте, у меня есть массив
const cards = [
     {id:1 ,name: 'Product A', image: 'pic-001.jpg', tags: [tag: 'nature', id: f1fz2]},
     {id:2 ,name: 'Product B', image: 'pic-002.jpg', tags: [tag: 'nature', id: 2fs]},
     {id:3 ,name: 'Product C', image: 'pic-003.jpg', tags: [tag: 'nature', id: f11fdfz2]}
   ]


Я хочу осуществить поиск по полю name и по значениям поля tag внутри tags
С полем name нет вопросов, я делаю так

const name='Product A'
this.setState({
        cards:  cards.filter(item => item.name.includes(tag))
      })


А как применить фильтр к tag внутри tags и полю name ?
Хожу вокруг функций map , forEach но в голову не лезет решение, помогите!!
  • Вопрос задан
  • 467 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
cards.filter(n => n.tags.some(m => m.tag === tag))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
let foo = cards.filter(item =>
  item.tags.includes('winter')
  && // <-- magic is here
  item.name.includes('Product B')
)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы