【发布时间】:2014-02-07 17:48:11
【问题描述】:
所以我有 11 个复选框,分为 4 个不同的类别。每个类别都有 3 个复选框可供选择,除了最后一个,它有 2 个。我想检查每个类别中的复选框是否被选中,并找出该类别中有多少复选框被选中。我可能想太多了,但到目前为止,我把它作为我的 JS:
//I initially receive the checkbox values as a string that has 1 for checked and 0 for not checked.
var split_string = checkbox_string.split(",").map(Number);
console.log(split_string);
var sec = [];
var total = 0;
var split_int=[];
var sliced = 0;
for (var i = 0; i <= 3 ; ++i) {
sec[i] = split_string.splice(0,3);
console.log(sec[i]);
for(var j = 0; j < sec[i].length; ++j){
sliced = sec[i][j];
total += sliced;
}
console.log("total= "+ total);
window['section' + i] = total;
}
所以到目前为止,我已经很接近了,尽管我确信有一种更简单的方法可以做到这一点。我将字符串拆分为 4 个数组(例如 [1,0,1] [0,0,1] [1,1,1] [1,0])。然后我从每个数组中取出每个单独的数字并将其添加到总数中。
到目前为止,它将返回添加的第一个三个,然后在第二个循环中返回添加到前三个的第二个三个。因此,例如第一次总 = 2,第二次总 = 3,但我希望第二次总和仅基于第二个数组(所以如果遵循上面的例子,它将是 1)。
【问题讨论】:
标签: javascript arrays