Проверьте, содержит ли строка какой-либо элемент массива в JavaScript

Как я могу проверить, содержит ли строка какой-либо элемент массива? Я хочу отфильтровать некоторый массив, если элемент имеет некоторую строку. Пожалуйста, смотрите код ниже.

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' должен быть удален, но это не так.

Над кодом только фильтрованный «банан», а не «яблоко». У меня есть много ключевых слов для фильтрации. Есть ли более простой способ?

22
задан Tunaki 25 May 2016 в 10:44
поделиться