在数组值之间循环

时间:2018-03-30 20:15:15

标签: javascript arrays loops

我有一组从1到6的数字。 但我的for循环大于这个数字。 当循环的最大数量相等时,我想让我的数组回到1。 所以基本上如果最大数量是10,它应该算作1,2,3,4,5,6,1,2,3,4。

var myFiles =  new Array(1,2,3,4,5,6);
var filecount = myFiles.length;
var layercount = 10;
var f = 0;
var n = 0;

for(var m = 0; m < layercount; m++,n++) { 
    if (m > f) { 
        f = 0; 
        n = n - m; 
        f = f + n;
    }
    $.write (myFiles[f]);    
}

2 个答案:

答案 0 :(得分:1)

您可以将remainder operator %与数组的长度一起用于数组的索引。

&#13;
&#13;
var array = [1, 2, 3, 4, 5, 6],
    i,
    l = 10;
    
for (i = 0; i < l; i++) {
    console.log(array[i % array.length]);
}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

使用%

&#13;
&#13;
var myFiles =  new Array(1,2,3,4,5,6);
var filecount = myFiles.length;
var layercount = 10;
for( var m = 0; m < layercount; m++){ 
    console.log(myFiles[m % filecount])    
}
&#13;
&#13;
&#13;