如何检查字符串是否包含数组中的任何元素? 如果元素具有某些字符串,则希望过滤掉一些数组。 请参见以下代码。
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'
,但是没有移除。
上述代码只过滤了'banana',而没有过滤'apple'。我有许多关键字需要过滤。是否有更简单的方法?