2

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

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],.....

我基本上想在颜色用完后开始迭代

4

2 回答 2

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

于 2013-01-28T21:50:39.667 回答
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.
          }
    }
于 2013-01-28T21:49:46.373 回答