Javascript 包括特殊情况

Javascript includes particular case

在我的例子中,我必须只保留包含“eat”的标题(或strings),因此“eating”也可以,问题在于“cheat”,因为它包含“吃”,但它 returns 通常是脱离上下文的标题,同时我也应该保留“作弊餐”这个词。

如果不是因为“作弊”这个词本身,我可以使用 if: .includes("eat") || .includes("cheat meal") 并且我会完成它。但不幸的是,“cheat”之后也没有“meal”,所以如果在这种情况下不使用“meal”,我如何将“cheat”或“cheating”排除为单词?

我可以做一个丑陋的 if 语句链,但我很确定我遗漏了一些高级 includes js 方法变体,它们可以更优雅地解决问题

编辑示例

“我今天吃什么” // 接受

“我是如何作弊的……” // 排除

“我的饮食规律是什么”// 接受

“本周最佳作弊餐”// 接受

“年度最佳作弊餐” // 接受

EDIT2 完整迭代(带解):

     let vid = [], vidEat = [];
     for(let j=0; j < vidData.items.length; j++){
          if (vidData.items[j] != undefined){
            vid.push(vidData.items[j].snippet.resourceId.videoId)

            if (/\beat|\bmeal/i.test(vidData.items[j].snippet.title)){
              vidEat.push(vidData.items[j].snippet.resourceId.videoId)
            }
          }
        }

您可以使用正则表达式来匹配以 eat 开头的单词或以 meal:

开头的单词
const probablyRelatedTitles = titles.filter(
  title => /\beat|\bmeal/i.test(title)
);