我有一个循环
for (var i=0; i < x; i++){
// ..
}
我想在两个字符之间包装每个8个数字。所以我的输出看起来像这样:
< 0 1 2 3 4 5 6 7 > < 8 9 10 11 12 13 14 15 > < 16 17 18 19 20 21 22 23 > < ...
我的解决方案是
if(i == 0) console.info('<');
if(i == 7) console.info('>');
if(i == 8) console.info('<');
if(i == 15) ...
但这会非常冗长。是否有可能使这项任务更容易?
答案 0 :(得分:2)
您可以使用i
(mod)运算符检查%
是否介于7和8之间。如果将x % y
除以x
,则y
会返回余数。例如:
0 % 4 == 0
1 % 4 == 1
2 % 4 == 2
3 % 4 == 3
4 % 4 == 0
5 % 4 == 1
使用此方法的解决方案如下所示:
var limit = 64;
console.info('< ');
for (var i = 0; i < limit; i++) {
if (i % 8 == 0 && i > 0) {
console.info('> <');
}
console.info(i, ' ');
}
console.info('>');
答案 1 :(得分:0)
console.info('<');
for (var i=0; i < x; i++){
if ((i > 0) && (i %8) == 0) {
console.info('><');
}
}
console.info('>');
基本上,我们在这里做的是说,如果我除以8的余数为0,则添加括号。因此,每8个数字。
希望这有帮助!
答案 2 :(得分:0)
不确定
image.height()
答案 3 :(得分:0)
试试这个:
(function() {
var result = "";
var x = 25;
for (var i = 0; i < x; i++) {
if (i % 8 == 0) {
result += "> <"
}
result += " " + i + " ";
}
result += " >"
console.log(result.substring(1));
})()
答案 4 :(得分:0)
我的建议,
var limit = x/8;
var chunk;
for (var i=0; i<limit; i++) {
console.log('<');
chunk = i*8;
for (var j=chunk; j<chunk+8; j++)
console.log(j);
console.log('>');
}