Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как в списке удалить строки с словами из блек-листа? (https://javascript.ru/forum/events/83867-kak-v-spiske-udalit-stroki-s-slovami-iz-blek-lista.html)

mik888em 07.04.2022 14:38

Как в списке удалить строки с словами из блек-листа?
 
Написал js-код по удалению из списка [[SPISOK_TEST]] строк в которых содержатся слова из блейклист-списка [[BLACK_LIST]].

js- код
[[SPISOK_TEST]] = [[SPISOK_TEST]].filter(function(line){
  return [[BLACK_LIST]].every(function(forbiddenWord) {
    return line.indexOf(forbiddenWord) === -1; 
  });
});


Например в блейклист-списке [[BLACK_LIST]] есть слова:
нейтрально
дерево
положительно
стоять


Но проблема в том что такая строка не будет удалена, так как блек-лист слово дерево не с заглавной:

Увидел лес. Дерево слабо ветроустойчиво, часто ветровально.


Вопрос:
Как заставить js-код удалять строки где есть блек-слово независимо от регистра букв?

рони 07.04.2022 14:47

mik888em,
return line.toLowerCase().indexOf(forbiddenWord.toLowerCase()) === -1;

или так
return   !line.toLowerCase().includes(forbiddenWord.toLowerCase());

mik888em 08.04.2022 21:35

Цитата:

Сообщение от рони (Сообщение 544554)
mik888em,
return line.toLowerCase().indexOf(forbiddenWord.toLowerCase()) === -1;

или так
return   !line.toLowerCase().includes(forbiddenWord.toLowerCase());

спасибо.

работает.
[[SPISOK_TEST]] = [[SPISOK_TEST]].filter(function(line){
  return [[BLACK_LIST]].every(function(forbiddenWord) {
    return line.toLowerCase().indexOf(forbiddenWord.toLowerCase()) === -1;
  });
});


Часовой пояс GMT +3, время: 04:14.