Javascript 在Java脚本中将字符串与字符串数组匹配

Javascript 在Java脚本中将字符串与字符串数组匹配,javascript,arrays,string,if-statement,ecmascript-5,Javascript,Arrays,String,If Statement,Ecmascript 5,str1=booking\u kode.substring(0,3); B=[“800”、“807”、“826”、“847”、“866”]; C=[“827”、“846”]; E=[“867”、“879”]; F=[“880”、“899”]; 如果(str1=阵列B){ 打印('前缀,前3位='+str1+'\n') 通信代码='B000' 打印('Comm_Code='+Comm_Code+'\n') } else if(str1=数组C){ 打印('前缀,前3位='+str1+'\n') 通

str1=booking\u kode.substring(0,3);
B=[“800”、“807”、“826”、“847”、“866”];
C=[“827”、“846”];
E=[“867”、“879”];
F=[“880”、“899”];
如果(str1=阵列B){
打印('前缀,前3位='+str1+'\n')
通信代码='B000'
打印('Comm_Code='+Comm_Code+'\n')
}
else if(str1=数组C){
打印('前缀,前3位='+str1+'\n')
通信代码='C000'
打印('Comm_Code='+Comm_Code+'\n')
}
else if(str1=数组E){
打印('前缀,前3位='+str1+'\n')
通信代码='E000'
打印('Comm_Code='+Comm_Code+'\n')
}
else if(str1=数组F){
打印('前缀,前3位='+str1+'\n')
通信代码='F000'
打印('Comm_Code='+Comm_Code+'\n')
}
否则{
打印('Prefix,Nilai 3位pertama='+str1+'\n')
通信代码='D000'
打印('Comm_Code='+Comm_Code+'\n')

}
您可以使用Array.indexOf()方法通过简单的if-else条件实现这一点。但是,请确保str1和数组中的值是相同的变量类型(字符串或数字)

只需使用一个简单的:


解决这个问题的一个可能的解决方案是使用(我认为基于此
ES5
中包含了它)。首先,您可以创建一个方法来检查
元素是否在
数组上:

功能阵列包括(arr、ele)
{
返回arr.some(函数(x){return(x==ele);});
}
log(arrayIncludes([1,2],2));
日志(arrayIncludes([1,2],5))

.as控制台{背景色:黑色!重要;颜色:石灰;}
包括
是ES6-OP只能使用ES5
indexOf
是正确答案。没有问题@Shidersz@JackBashford我已经修改了代码,使用了
Array.some()
。我已经从不同来源的
ES5
上阅读了它。我已经在您的答案中添加了完整的代码,请随意编辑。
   if (B.indexOf(str1) > -1 ) {   //if value exists in B 
        //do soemthing;
    } 
    else if(C.indexof(str1) >-1 ) { //if value exists in C
      //do soemthing
    }
str1 = booking_kode.substring(0, 3);
B = ["800", "807", "826", "847", "866"];
C = ["827", "846"];
E = ["867", "879"];
F = ["880", "899"];

if (B.indexOf(str1) > -1)
{
    print ('Prefix , first 3 digit = ' + str1 + '\n');
    comm_code = 'B000';
    print ('Comm_Code = ' + comm_code + '\n');
}
else if (C.indexOf(str1) > -1)
{
    print ('Prefix , first 3 digit = ' + str1 + '\n');
    comm_code = 'C000';
    print ('Comm_Code = ' + comm_code + '\n');
}
else if (E.indexOf(str1) > -1)
{
    print ('Prefix , first 3 digit = ' + str1 + '\n');
    comm_code = 'E000';
    print ('Comm_Code = ' + comm_code + '\n');
}
else if (F.indexOf(str1) > -1)
{
    print ('Prefix , first 3 digit = ' + str1 + '\n');
    comm_code = 'F000';
    print ('Comm_Code = ' + comm_code + '\n');
}
else
{
    print ('Prefix , Nilai 3 digit pertama = ' + str1 + '\n');
    comm_code = 'D000';
    print ('Comm_Code = ' + comm_code + '\n');
}