Прошу прощения - до самого дошло что вопрос в операторах
Для реализации функционала, который оставляет только строки, содержащие хотя бы одно из указанных значений в indexOf("..."), нужно инвертировать логическое условие. Вместо проверки на отсутствие всех указанных подстрок, мы будем проверять наличие хотя бы одной из них.
Вот соответствующий код:
[[FINAL_LIST]] = [[FINAL_LIST]].filter(function(a) {
return a.toLowerCase().indexOf("background:") >= 0 ||
a.toLowerCase().indexOf("#") >= 0 ||
a.toLowerCase().indexOf("width:") >= 0 ||
a.toLowerCase().indexOf("margin-right:") >= 0 ||
a.toLowerCase().indexOf(";") >= 0 ||
a.toLowerCase().indexOf("=>") >= 0 ||
a.toLowerCase().indexOf(">") >= 0 ||
a.toLowerCase().indexOf(")") >= 0 ||
a.toLowerCase().indexOf("e.json") >= 0 ||
a.toLowerCase().indexOf("(") >= 0 ||
a.toLowerCase().indexOf("height:") >= 0 ||
a.toLowerCase().indexOf("color:") >= 0 ||
a.toLowerCase().indexOf("content:") >= 0 ||
a.toLowerCase().indexOf("gtag.js") >= 0 ||
a.toLowerCase().indexOf("cloudflare") >= 0 ||
a.toLowerCase().indexOf("cdn-cgi") >= 0;
});
Объяснение изменений:
Инверсия условия : В оригинальной функции использовались операторы < 0 для исключения строк, содержащих определенные подстроки. Здесь мы заменили их на >= 0, чтобы включить строки, содержащие эти подстроки.
Логическое "или" (||) : Для того чтобы строка проходила фильтрацию, достаточно, чтобы она содержала хотя бы одну из указанных подстрок. Поэтому используем оператор || между условиями.
Синтаксис сохранен : Структура и стиль кода полностью соответствуют вашему примеру.
Теперь этот код оставит только те строки, которые содержат хотя бы одну из указанных подстрок. Все остальные строки будут удалены.
Проверил ваш способ, все равно не видит.
(еще не до конца понимаю синтаксис, поэтому попробовал два варианта написания условия). Думаю, проблема сугубо в записи, ибо даже оператор "Содержит" не видит этот элемент: вывел список
, однако не видит все равно и пишет "false"
