【发布时间】:2019-09-09 17:59:17
【问题描述】:
我正在使用 JS 根据条件语句设置总共 7 个变量,并寻找最有效的方法来做到这一点。
目前,如果您希望每个类别包含多个条件但一个特定条件在该类别中保持不变,则实际上有 16 种不同的条件被分为 3 个不同的类别。此外,还有一个变量必须在所有条件下都保持一致
这是一个例子:
if (myvar === "A" && var1 === 1 && var2 ==="1")
{
setVar = "Value";
}
else if (myvar === "A" && var1 === 2 && var2 ==="1")
{
setVar = "Value";
}
else if (myvar === "A" && var1 === 3 && var2 ==="1")
{
setVar = "Value";
}
else if (myvar === "B" && var1 === 1 && var2 ==="1")
{
setVar = "Value";
}
else if (myvar === "B" && var1 === 1 && var2 ==="1")
{
setVar = "Value";
}
else if (myvar === "B" && var1 === 1 && var2 ==="1")
{
setVar = "Value";
}
有没有更好的方法来做到这一点?我只想设置一次 var2 的条件并将其应用于所有条件语句。如果我可以为前三个语句设置一次 myvar 的值,为后三个语句设置一次,那会更好。
if (myvar === "A" && var1 === 1 && var2 ==="1")
{
setVar = "Value";
}
else if (myvar === "A" && var1 === 2 && var2 ==="1")
{
setVar = "Value";
}
else if (myvar === "A" && var1 === 3 && var2 ==="1")
{
setVar = "Value";
}
else if (myvar === "B" && var1 === 1 && var2 ==="1")
{
setVar = "Value";
}
else if (myvar === "B" && var1 === 1 && var2 ==="1")
{
setVar = "Value";
}
else if (myvar === "B" && var1 === 1 && var2 ==="1")
{
setVar = "Value";
}
【问题讨论】:
-
最后三个条件都一样。那是错字吗?
var1的值是否应该更改为 1,2 和 3?