循环通过两个不同大小的数组,同时重复数组1的值

时间:2013-01-28 21:46:06

标签: javascript

嗨,我是编程新手,遇到了循环问题。 我有两个数组:

colour = ['red','blue','green','orange'];
rows = [1,2,3,4,5,6,7,8,9,10,11...];

我希望每个行元素对都带有颜色数组中的颜色,例如从

开始
rows[0]=>colours[0],
rows[1]=>colours[1],
rows[2]=>colours[2],
rows[3]=>colours[3],
rows[4]=>colours[0],
rows[5]=>colours[1],.....

我基本上想要在颜色跳出后开始迭代颜色

2 个答案:

答案 0 :(得分:4)

可能与此类似:

var i,
    rowCount,
    colour,
    rows;
colour = ['red', 'blue', 'green', 'orange'];
rows = [];
rowCount = 20;
for (i = 0; i < rowCount; i++) {
    rows[i] = colour[i % colour.length];
}

这项工作的关键是模数运算符(除法后的余数)。 i % color.lengthi的余数除以color.length,与colour的索引相关。

答案 1 :(得分:0)

您可以遍历所有行并按顺序分配颜色。完成颜色数组后,只需重置其索引。

    var colorIndex = 0;
    for (var i=0; i<rows.length; ++i)
     {
         row[i] = colours[j]; //use the color for the current row
         j++;
         if (j == colours.length) //when you reached the last colour 
          {
              j = 0; //reset colour index.
          }
    }