JavaScript在同一循环中每x次迭代一次循环
JavaScript iterate loop every x number of times in same loop?
我不知道该如何表达,所以如果这个问题没有意义,请重新命名。不管怎样,这就是我要做的。
我有一个长度为9的变量。然后我有另一个长度为3的变量。
如何编写一个遍历所有9个循环,但每三次重新开始一次的循环?
例如:我有这个,
x = 3;
l = 9;
for ( var i = 0; i < l; i++)
{
console.log(i + 1);
}
output = 1,2,3,4,5,6,7,8,9
我想要创建的输出
output = 1,2,3,1,2,3,1,2,3
我想可能有一个if语句或可能的模数来实现这一点,但不太确定如何实现。有什么好方法可以做到这一点?提前谢谢。
接受模数:
function expand(length, loop_length) {
for (var i = 0; i < length; i++) {
console.log(i % loop_length + 1);
}
}
expand(9, 3) // => 1, 2, 3, 1, 2, 3, 1, 2, 3
x = 3;
l = 9;
for ( var i = 0; i < l; i++)
{
console.log(i % x + 1);
}
输出=1,2,3,1,2,3,1,2.3
请在此处查看其实际操作:http://jsfiddle.net/BgBGL/
如果你想从最小值到最大值循环特定次数,最简单的方法就是有两个循环,如下所示:
var min = 1, max = 3, times = 3;
for (var i = 0; i < times; i++) {
for (var j = min; j <= max; j++) {
console.log(j);
}
}
或者,如果你想固定序列的总长度,那么是的,你可以用一个循环和一点数学来完成:
var min = 1, max = 3, totalLength = 9;
for (var i = 0; i < totalLength; i++) {
console.log((i % (max - min + 1)) + min);
}
对于这种情况,这是有效的:
x = 3;
l = 9;
for ( var i = 0; i < l; i++)
{
var num=(i %(x+1)) || 1;
console.log(num);
}
使用以下语法可能会发疯:
var i = 0;
do {
console.log(i++ % 3 + 1);
} while (i < 9);
或者,也可以将3
和9
定义为变量。
我利用了调用i++
将显示旧变量并在之后将其增加1的优势,所以我保存了一些位!
请参阅:fiddle示例
x = 3;
l = 9;
for ( var i = 0; i <= l; i++)
{
for ( var j = 1; j <= x; j++)
{
console.log(j);
}
}
相关文章:
- 是否“;对于的“;循环迭代遵循JavaScript中的数组顺序
- 从两个基于0的for循环迭代器中获取单个基于0的索引的公式
- JavaScript循环迭代太多
- 在不同数据选项之间循环迭代对象
- 比许多使用JavaScript的循环迭代更有效的解决方案
- While为List值在CSS选择器中循环迭代
- 如何在ajax完成后执行第二次循环迭代
- 通过循环迭代追加文本
- Javascript使用for-in循环迭代器来设置变量
- 循环/迭代要返回的对象数组和字符串数组 - Javascript
- Javascript:我的数组的大小随着每次for循环迭代而减小.为什么
- Knockout foreach 循环迭代相同的数据元素
- 所有属性都设置为上次循环迭代值 [为什么?
- 每次循环迭代强制转换为不同的类型
- 在“for”循环迭代之间添加延迟
- 如何在循环迭代的每三分之一上做一些事情
- Nodejs服务器-通过使循环迭代异步来提高性能
- 使用嵌套的“”循环迭代流星中的集合;forEach”;
- JavaScript循环迭代中的POST之间需要延迟
- 如何在点击函数javascript中显示当前循环迭代