嗨,我想在JavaScript中创建一个非常基本的脏话过滤器。
我有一个数组,叫做badWords
,还有一个常量,叫做description
,我不会去检查这个数组中是否有坏字。
这就是我到目前为止所做的。
const badWords = ["Donald Trump","Mr.Burns","Sathan"];
const description = "Mr.Burns entered to the hall."
let isInclude = false;
badWords.forEach(word=>{
if(description.includes(word)){
isInclude = true
}
})
console.log(`Is include`,isInclude)
唯一的问题是我必须遍历badWords
数组,有没有办法不用遍历数组就可以完成这个任务?
4条答案
按热度按时间zaqlnxep1#
使用
some()
--它会在找到条件匹配项后立即退出循环,因此它比循环性能更高。bxpogfeg2#
regexp解决方案如下所示:
(If不好的单词是实际的正则表达式,如
"Mr\.Burns"
,然后省略.map(reEscape)
)f8rj6qna3#
这个函数我做了把坏字变成****,如果坏字是5个字母,它会把5 * 的
(this是为我的聊天我编码)
那么你只需要在filter()函数中使用一个var,它等于你想要过滤的文本。
ig9co6j14#
使用try catch