我在这里有一个简单的例子,我们正在使用的框架已经给出了复选框,因此它只是检查天气是否被检查(返回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)
答案 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。