Наверное да. Нужно тестить.
Сейчас у конструкции принцип такой:
map проходит по элементам, которые указаны у querySelectorAll, создает массив [сам дом элемент, массив слов из innerText разделенных через запятую] (+ проходит map, чтобы удалить у элементов пробелы сначала и в конце через trim), затем идет фильтр по этому массиву из InnerText и запускает цикл проверяя есть ли совпадения с массивом arr и если есть - оставляет их, дальше map снова проходит отдавая уже только дом элементы.
Вот конкретно в этой конструкции нужно сделать так, чтобы на первом этапе тебе нормально раздробило слова из innerText, чтобы дальше их можно было сравнивать со словами из другого массива т.е. как я понял тебе желательно дробить вообще на каждое слово отдельно, чтобы на них могло найти совпадения, а для этого нужно подобрать регулярку. И как я уже говорил- вышла довольно громоздкая конструкция, возможно есть вариант проще.