根据所选的复选框将变量推送到数组

时间:2017-07-27 00:49:42

标签: javascript

我在这里有一个简单的例子,我们正在使用的框架已经给出了复选框,因此它只是检查天气是否被检查(返回true或false)。我有三个具有不同选项的变量,这些变量将被推送到数组中并在未选中时被删除。顺便说一句,我已经使它工作了,但我认为有更合适的方法来做到这一点。

var chk1 = data.config.chk1; // returns true or false only
var chk2 = data.config.chk2; // same as above
var chk3 = data.config.chk3;
var settA = "settingsA";
var settB = "settingsB";
var settC = "settingsC";

if (chk1) {
  arr.push(settA)
}
if (chk2) {
  arr.push(settB)
}
if (chk3) {
  arr.push(settC);
}
console.log(arr)

1 个答案:

答案 0 :(得分:0)

我会使用实际设置值来覆盖包含chk#键(带有true或false值)的Object。然后,如果它在对象中你知道它是真的。这样你就可以让你的代码更容易处理。

var Chks = data.config; 

for(var key in Chks)
  arr.push(Chks[key])

现在,如果您的对象包含data.config.chk3 = 'SettingsA',则您的数组将包含'SettingsA'

也许这对你不起作用,但作为经验法则,如果你反复重复相同的命令,你应该抽象,比如使用itterator。