'How would I make this script simpler/efficient?
I have been working on making a question rewriter. I have made it somewhat functional for short questions. if you take a look at my code, you can see how messy it is. I am new to javascript, as it has been a steep learning curve. I don't know all of the tricks for making things more efficient. Help would be appreciated!
https://jsfiddle.net/Villagerjj/ht01u2p7/231/
Example 1: I have to make a separate int variable to match each object of an array
if (qcount > 1) {
var sep = b.replace(/ ,/g, "|");
var questions2 = sep.split("|");
var int1 = questions[0].match(
/How do you|How do|How are you|How|did you|Why|the|What are|What type|What do the|What do|What kind|What is a|What is an|What is|What was|What can|What's|What’s|What|many|Define/
);
var int2 = questions[1].match(
/How do you|How do|How are you|How|did you|Why|the|What are|What type|What do the|What do|What kind|What is a|What is an|What is|What was|What can|What's|What’s|What|many|Define/
);
var int3 = questions[2].match(
/How do you|How do|How are you|How|did you|Why|the|What are|What type|What do the|What do|What kind|What is a|What is an|What is|What was|What can|What's|What’s|What|many|Define/
);
Example 2: I have to make a new switch statement for every int variable I make
var in1 = int1.toString(int1);
var in2 = int2.toString(int2);
var in3 = int3.toString(int3);
console.log("int1 = " + int1);
console.log("int2 = " + int2);
const quests = [];
switch (in1) {
case "How":
var c = questions2[0].replace("?", " because ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "How are you":
var c = questions2[0].replace("?", " ").replace(".", ", is ");
quests.push(c);
break;
case "What is a":
var c = questions2[0].replace("?", " is a ").replace(".", ", is ");
quests.push(c);
break;
case "What are":
var c = questions2[0].replace("?", " are ").replace(".", ", is ");
quests.push(c);
break;
case "What type":
var c = questions2[0].replace("?", " is ").replace(".", ", is ");
quests.push(c);
break;
case "What is an":
var c = questions2[0].replace("?", " is to ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What do the":
var c = questions2[0].replace("?", " ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "Define":
var c = questions2[0].replace(".", ": ");
quests.push(c);
console.log(quests);
break;
case "How do you":
var c = questions2[0].replace("?", " as ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "How do":
var c = questions2[0].replace("?", " by ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What do":
var c = questions2[0].replace("?", " is ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What is":
var c = questions2[0].replace("?", " is ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What kind":
var c = questions2[0].replace("?", " is ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "did you":
var c = questions2[0].replace("?", " are that ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "Why":
var c = questions2[0].replace("?", " because ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "the":
var c = questions2[0].replace("?", " is ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What was":
var c = questions2[0].replace("?", " was ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "many":
var c = questions2[0].replace("have", "has").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What":
var c = questions2[0].replace("?", " could be ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What's":
var c = questions2[0]
.replace(/you/g, " me ")
.replace("?", " is ")
.replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What's":
var c = questions2[0]
.replace(/you/g, " me ")
.replace("?", " is ")
.replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What can":
var c = questions2[0].replace("?", ": ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
default:
console.log("possible error");
var c = questions2[0]
.replace(".", ", is ")
.replace("?", ": ")
.replace(/you/g, " I ");
quests.push(c);
console.log(quests);
break;
}
switch (in2) {
case "How":
var c = questions2[1].replace("?", " because ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "How are you":
var c = questions2[1].replace("?", " ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What is a":
var c = questions2[1].replace("?", " is a ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What are":
var c = questions2[1].replace("?", " are ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What type":
var c = questions2[1].replace("?", " is ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What is an":
var c = questions2[1].replace("?", " is to ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What do the":
var c = questions2[1].replace("?", " ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "Define":
var c = questions2[1].replace(".", ": ");
quests.push(c);
console.log(quests);
break;
case "How do you":
var c = questions2[1].replace("?", " as ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "How do":
var c = questions2[1].replace("?", " by ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What do":
var c = questions2[1].replace("?", " is ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What is":
var c = questions2[1].replace("?", " is ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What kind":
var c = questions2[1].replace("?", " is ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "did you":
var c = questions2[1].replace("?", " are that ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "Why":
var c = questions2[1].replace("?", " because ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "the":
var c = questions2[1].replace("?", " is ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What was":
var c = questions2[1].replace("?", " was ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "many":
var c = questions2[1].replace("have", "has").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What":
var c = questions2[1].replace("?", " could be ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What's":
var c = questions2[1]
.replace(/you/g, " me ")
.replace("?", " is ")
.replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What's":
var c = questions2[1]
.replace(/you/g, " me ")
.replace("?", " is ")
.replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What can":
var c = questions2[1].replace("?", ": ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
default:
console.log("possible error");
var c = questions2[1]
.replace(".", ", is ")
.replace("?", ": ")
.replace(/you/g, " I ");
quests.push(c);
console.log(quests);
break;
}
switch (in3) {
case "How":
var c = questions2[2].replace("?", " because ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "How are you":
var c = questions2[2].replace("?", " ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What is a":
var c = questions2[2].replace("?", " is a ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What are":
var c = questions2[2].replace("?", " are ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What type":
var c = questions2[2].replace("?", " is ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What is an":
var c = questions2[2].replace("?", " is to ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What do the":
var c = questions2[2].replace("?", " ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "Define":
var c = questions2[2].replace(".", ": ");
quests.push(c);
console.log(quests);
break;
case "How do you":
var c = questions2[2].replace("?", " as ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "How do":
var c = questions2[2].replace("?", " by ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What do":
var c = questions2[2].replace("?", " is ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What is":
var c = questions2[2].replace("?", " is ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What kind":
var c = questions2[2].replace("?", " is ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "did you":
var c = questions2[2].replace("?", " are that ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "Why":
var c = questions2[2].replace("?", " because ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "the":
var c = questions2[2].replace("?", " is ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What was":
var c = questions2[2].replace("?", " was ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "many":
var c = questions2[2].replace("have", "has").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What":
var c = questions2[2].replace("?", " could be ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What's":
var c = questions2[2]
.replace(/you/g, " me ")
.replace("?", " is ")
.replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What's":
var c = questions2[2]
.replace(/you/g, " me ")
.replace("?", " is ")
.replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
case "What can":
var c = questions2[2].replace("?", ": ").replace(".", ", is ");
quests.push(c);
console.log(quests);
break;
default:
console.log("possible error");
var c = questions2[2]
.replace(".", ", is ")
.replace("?", ": ")
.replace(/you/g, " I ");
quests.push(c);
console.log(quests);
break;
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
