基本的に私の問題は、ランダムなスペース、タブ、その他の空白単位 (改行も多くありません) でいっぱいのテキスト入力をプログラムが受け取ることです。
すべてのタブを正常に削除しました...
// Parse the input box into an array
var inputArr = document.getElementById("inputBox").value.split(/[\t]/);
これで、テキストは次のようになります...
"グループを非表示にするためのダミー フィールド , , , , , ,*役割 ,移動 , , , セクションを折りたたむ 概要 , , ,名前 ,Doe,John ,詳細 ,顧客 ,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 "):
|| を使用してもトリガーされません。
誰かが投稿する前に。私のコードはせいぜいずさんです。どんな助けでも大歓迎です。