Фильтр по тегам react(контекстный api)

#javascript #arrays #reactjs #regex #context-api

Вопрос:

В настоящее время в моем файле состояния задано некоторое начальное состояние
Отфильтрованное имя: null,(это то, куда идет отфильтрованное имя и так далее)
filteredTag: null, студенты: null, (отсюда фильтруются имя и тег)

РЕГУЛЯРНОЕ ВЫРАЖЕНИЕ ДЛЯ ОТФИЛЬТРОВАННОГО ИМЕНИ РАБОЧИЙ
регистр FILTER_STUDENTS_BY_NAME:
возвращает {
…состояние,
отфильтрованное ИМЯ: состояние.студенты.фильтр(студент => {

                 //Remove white spaces
                var newString = action.payload.replace(/s/g, '')
                const regex = new RegExp(`${newString}`, 'gi')

                const fullName = student amp;amp; `${student.firstName} ${student.lastName}`
                

                return (student.firstName amp;amp; student.firstName.match(regex)) || (student.lastName amp;amp; student.lastName.match(regex)) 
                        || (fullName.match(regex))
            })
        }
 

Теперь я хочу отфильтровать по тегам…теги-это массив в массиве учащихся.
МАССИВ УЧАЩИХСЯ

 {
 "id": 1,
 "city": "some city",
 "name" : "some name",
 "colors" : [
             "1": "blue",
             "2" : "red"
            ],
 "age": "some age"
"tags" : [
{
             "id": 1,
             "tag" : "tag1"
            },
{
             "id": 2,
             "tag" : "tag2"
            },
],
},
{
 "id": 2,
 "city": "some city",
 "name" : "some name",
 "colors" : [
             "1": "green",
             "2" : "yellow"
            ],
 "age": "some age",
"tags" : [
{
             "id": 1,
             "tag" : "tag1"
            },
{
             "id": 2,
             "tag" : "tag2"
            },
],
}
]```

How i am doing the filtering for name is onChange, i take in the text input and check if it matches the first name or last name. But i cannot just do state.students.tags(because of the array thingy). But now i want to match the tags which are in an array.How do i go about it? And mind you, some students have multiple tags.