Добрый день,
Задача - проверить фразу на наличие слов-спам.
Не могу разобраться с последней функцией .includes()
:
export const checkSpam = (text, spamKeywords) => {
//1. перевести всё в малый регистр
let big = text.toLowerCase();
console.log(big);
//2. убрать всё, кроме букв, и разбить на слова
big = big.replace(/[^a-zа-яё\s]/gi, '');
big = big.replace(/\s+/g, ' ');
console.log(big);
let big1 = big.split(' ');
console.log(big1);
//3. проверить: если слово = слову из массива - то тру
spamKeywords.forEach(function(elem) {
for (let i = 0; i < big1.length; i++) {
var spam = big1[i].includes(elem);
if (spam === true) {
return true
}
else {
return false
}
}
})
}
И если запускаю без блока if/else
чисто console.log()
оно всё сравнивает и печатает:
hey, john! you won 1000 tabs of viagra ! ! ! !
hey john you won tabs of viagra
[
'hey', 'john',
'you', 'won',
'tabs', 'of',
'viagra', ''
]
false
false
false
false
false
false
true
false
false
false
false
false
false
false
false
false
false
false
false
true
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
А только добавляю блок if/else
- выдаёт undefined
🙁