【发布时间】:2017-12-17 14:06:42
【问题描述】:
我有 12 个包含布尔值的变量。根据每个为真的布尔输入,我将一个数值分配给另一个名为finalInputValue 的变量。我遇到的问题是我无法弄清楚如何在不复制值的情况下附加到这个变量finalInputValue。到目前为止,我有以下代码:
var finalInputValue = ""
function findFinalInputValue(){
if (finalInputValue == ""){
finalInputValue = boolean1Input == true ? "527" :
boolean2Input == true ? "528" :
boolean3Input == true ? "529" :
boolean4Input == true ? "530" :
boolean5Input == true ? "531" :
boolean6Input == true ? "532" :
boolean7Input == true ? "533" :
boolean8Input == true ? "534" :
boolean9Input == true ? "535" :
boolean10Input == true ? "536" :
boolean11Input == true ? "537" :
boolean12Input == true ? "538" : "";
}
if (finalInputValue != ""){
...
...
}
}
findFinalInputValue();
如你所见,这个块基本上是将第一个数值赋给变量finalInputValue。如何让我的函数一遍又一遍地运行,直到它检查了所有 12 个布尔输入?如何在不复制其中一个值的函数的情况下为每个为真的布尔值附加相应的数值?我还没有开始附加到第一个结果的函数部分,因为我不知道如何告诉函数忽略某个布尔输入(如果它已经被附加)。希望我已经清楚了。我只是想获得所有“真实”布尔输入的附加数值字符串。完成此任务的最简单方法是什么?一个for循环?使用数组?
【问题讨论】:
-
任何时候你发现自己在写这样的编号变量,你可能应该改用数组。然后你可以写一个循环来处理数组元素。
-
另外,如果您知道变量是真/假,那么只需执行
if (variable) { ... }
标签: javascript for-loop foreach while-loop ternary-operator