Как я могу проверить, содержит ли строка какой-либо элемент массива? Я хочу отфильтровать некоторый массив, если элемент имеет некоторую строку. Пожалуйста, смотрите код ниже.
var arr = ['banana', 'monkey banana', 'apple', 'kiwi', 'orange'];
function checker(value) {
var prohibited = ['banana', 'apple'];
for (var i = 0; i < prohibited.length; i++) {
if (value.indexOf(prohibited[i]) == -1) {
return true;
} else {
return false;
}
}
}
arr = arr.filter(checker);
console.log(arr);
Результат - [ 'apple', 'kiwi', 'orange' ]
. 'apple'
должен быть удален, но это не так.
Над кодом только фильтрованный «банан», а не «яблоко». У меня есть много ключевых слов для фильтрации. Есть ли более простой способ?