基本上我的问题是我的程序接受的文本输入充满了随机空格、制表符和其他空白单元(换行符也是如此,但没有那么多)。
我已成功删除所有标签...
// Parse the input box into an array
var inputArr = document.getElementById("inputBox").value.split(/[\t]/);
现在文本看起来像这样......
"隐藏组的虚拟字段 , , , , , , ,*Role ,Go To , , , Collapse section Summary , , , ,Name ,Doe,John ,Details ,Customer ,John Doe Inc.
我的问题:我有一个开关...
switch(inputArr[i]) {
...有几种情况...
case ("Name" || "Name " || " Name" || " Name "):
if(inputArr[i - 1] == ("Summary" || "Summary " || " Summary" || " Summary ")) {
contNameBool = true;
break;
}
break;
case ("Details" || "Details " || " Details" || " Details "):
if(contNameBool == true) {
contNameBool = false;
break;
} else if(contNameBool == false && compNameBool == true) {
compNameBool = false;
break;
}
break;
case ("Customer" || "Customer " || " Customer" || " Customer "):
if(inputArr[i - 1] == "Details") {
contNameBool = false;
compNameBool = true;
break;
}
break;
case "Address":
if(inputArr[i - 1] == "Profile") {
compNameBool = false;
emailBool = true;
break;
}
break;
case ("VISA" || "MASTERCARD" || "AMERICAN" || "DISCOVER"):
emailBool = false;
break;
case "Show":
if(inputArr[i + 1] == "next" && inputArr[1 + 2] == "row") {
accountLinesArray.length = inputArr[i - 1];
for(j = 0; j < accountLinesArray.length; j++) {
accountLinesArray[j] = new account();
}
break;
}
break;
case "Order":
if(inputArr[i + 1] == "ID" && inputArr[i + 2] == "MRC") {
accountsBool = true;
break;
}
break;
正如您可能知道的那样,我试图让我的程序识别文本中的某些关键词并相应地切换一些布尔值。无论我如何配置条件,switch 语句似乎都不会涉及任何情况。例如案件...
case ("Name" && "Name " && " Name" && " Name "):
不会触发,即使我使用 ||。
在任何人发布之前。我意识到我的代码充其量是草率的。任何帮助将不胜感激。