这是一个相对简单的问题,但我想看看其他人如何解决以下问题:
所以例如UserInput = 14
所以根据上面的txtUserInput,我希望程序计算出需要多少个盒子(在这种情况下答案是4个盒子,最后一个盒子里剩下2个空格。
下面的是基本形式的代码示例:
var itemsCount = txtUserInput;
var boxes = 0;
if (itemsCount <=4) {
boxes ++;
}
else if (itemsCount <=8 && >4) {
boxes += 2;
}
正如你所看到的,我可以一遍又一遍地重复这一点以获得正确的结果,但它会变得非常乏味,而且比它需要的时间长得多......
所以使用JavaScript我如何将它放入数组/循环并获取框以给出我想要的输出?
谢谢你的帮助
答案 0 :(得分:5)
不要循环,进行划分然后向上舍入:
var boxes = Math.ceil(itemsCount / 4);
答案 1 :(得分:1)
将项目数除以框的大小(在本例中为4)后,您可以使用Math.ceil进行向上舍入;
var boxes = Math.ceil(txtUserInput/4);
Javascript的类型强制将自动处理空输入(如果txtUserInput为空)为零。
答案 2 :(得分:1)
通过检查需要多少个盒子的方法,您可以使用循环而不是为所有可能数量的盒子设置代码:
var boxes = 0;
while (itemsCount > 0) {
boxes++;
itemsCount -= 4;
}
但是,您不需要循环。您可以将项目数除以4,并确保结果中的任何分数都可以通过四舍五入来使用另一个框:
var boxes = Math.ceil(itemsCount / 4);
例如,将14除以4得到结果3.5,向上舍入得到4。