Брать каждое из проверочных слов и по очереди искать в данном тексте.
text.indexOf(keyword)
вернёт
-1
если ключевое слово не найдено в тексте. Или его позицию от 0 и больше, если нашлось. См.
indexOf()
Выражение
!!~x
вернёт
true
для
x == 0
или больше, и
false
только для
x == -1
.
Примерно так:
function areYouThere(str) {
var i, j, found = 0, filters = [
"яблоко, лимон, груша".split(', '),
"вишня, арбуз, клубника".split(', '),
"каштан, тарелка, борщ".split(', ')
];
for( i = 0; i < filters.length; i++) {
for( j = 0; j < filters[i].length; j++) {
if( !!~str.indexOf(filters[i][j])) found = found | 1 << i;
}
}
return found;
}
var mask = areYouThere("арбуз вам не яблоко!");
if( mask & 1 << 0) alert (1);
if( mask & 1 << 1) alert (2);
if( mask & 1 << 2) alert (3);