如何解决Javascript 包括特殊情况
在我的情况下,我只需要保留包含“eat”的标题(或字符串),因此“eating”也可以,问题来自“cheat”,因为它包含“eat”但是它通常返回上下文标题,同时我也应该保留“欺骗餐”这个词。
如果不是因为“作弊”这个词本身,我可以使用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)
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。