Javascript 切换大小写以检查字符串是否包含子字符串

Javascript 切换大小写以检查字符串是否包含子字符串,javascript,Javascript,我有一个字符串,想检查是否有带有switch/case的子字符串。fnstringCheck返回true,例如,如果fnstring是死亡\u ist\u ein\u test\u diagnosis\u erfassen 怎么了?谢谢你的提示 var fnstring = (interim_transcript).toLowerCase().replace(/ /gi, "_"); console.log('fnstring:', fnstring) var fnstringCheck

我有一个字符串,想检查是否有带有switch/case的子字符串。fnstringCheck返回
true
,例如,如果fnstring是
死亡\u ist\u ein\u test\u diagnosis\u erfassen

怎么了?谢谢你的提示

 var fnstring = (interim_transcript).toLowerCase().replace(/ /gi, "_");

 console.log('fnstring:', fnstring)
 var fnstringCheck = fnstring.indexOf("diagnosen_erfassen") !== -1;
 console.log(fnstringCheck)

 switch (fnstring) {
    case (fnstring.indexOf("_arztbrief_analysieren") !== -1):
        $('.analyzesBtn').trigger('click');
        break;

    case (fnstring.indexOf("_einleitung_erfassen") !== -1):
        changeSection('einleitung', mergedSource);
        break;

    case (fnstring.indexOf("diagnosen_erfassen") !== -1):
         changeSection('einleitung', mergedSource);
         break;

        ...

您需要在中选择
true
,因为案例返回
true
false
。这张支票使用的是支票


开关箱不是这样工作的。提供给开关的参数用于与每种情况进行比较。在您的案例中,
开关
采用字符串参数,并且所有案例都具有布尔属性


当您使用switch语句时,将对switch中的表达式求值,并将其与case中的值进行比较,以确定应该执行哪个case语句。请参阅文档

在您的案例中,switch语句有一个字符串表达式,但您的案例的计算结果为true或false,因此它们都不匹配

在我看来,用if-else检查来表达您的逻辑似乎更自然:

if (fnstring.indexOf("_arztbrief_analysieren") !== -1) {
    $('.analyzesBtn').trigger('click');
} else if (fnstring.indexOf("_einleitung_erfassen") !== -1) {
    changeSection('einleitung', mergedSource);
} else if (fnstring.indexOf("diagnosen_erfassen") !== -1) {
    changeSection('einleitung', mergedSource);
}

酷,你救了我一天!谢谢
if (fnstring.indexOf("_arztbrief_analysieren") !== -1) {
    $('.analyzesBtn').trigger('click');
} else if (fnstring.indexOf("_einleitung_erfassen") !== -1) {
    changeSection('einleitung', mergedSource);
} else if (fnstring.indexOf("diagnosen_erfassen") !== -1) {
    changeSection('einleitung', mergedSource);
}