嗨,我是编程新手,遇到了循环问题。 我有两个数组:
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],.....
我基本上想要在颜色跳出后开始迭代颜色
答案 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.length
是i
的余数除以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.
}
}