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)
);
在我的例子中,我必须只保留包含“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)
);