【发布时间】:2016-07-18 16:52:56
【问题描述】:
我正在从具有 3 个维度的 javascript 数组中的特定位置绘制圆圈(我认为)。我正在使用 2 级 for 循环绘制它们,第一个处理圆圈的 x 坐标,第二个处理圆圈的 y 坐标,然后从数组中传入圆圈的颜色(数组只包含它们的颜色values) 并将它们传递给 Circle 函数,该函数仅从 x、y、color 和 radius 值中提取它们。然而,我的代码似乎只画了一个或似乎无法识别数组中的第三维。代码如下:
//define the sequence of lights
var lightSequence = [[["red",'darkOrange','darkGreen','other'],["red",'darkOrange','darkGreen','other']],[['red',"orange",'darkGreen'],['red',"orange",'darkGreen']],[['darkRed','darkOrange',"green"],['darkRed','darkOrange',"green"]],[['darkRed',"orange",'darkGreen'],['darkRed',"orange",'darkGreen']]];
//draw all of the traffic lights from the array
for (var xMove = 0; xMove < lightSequence[i].length; xMove ++) {
console.log(lightSequence[i][xMove]);
for (var value = 0; value < lightSequence[i][xMove].length; value ++) {
circle(xPos + (radius*(xMove * 2))+ (spacing * (xMove)), startY + (radius*(value * 2)) + (spacing * (value)), radius, lightSequence[i][xMove][value]);
console.log([i][xMove][value]);
}
}
灯光按由i 控制的序列进行,因此[["red",'darkOrange','darkGreen','other'],["red",'darkOrange','darkGreen','other']] 是序列中的一次绘制,应该绘制2 列,每列4 盏灯,但序列的所有部分似乎只绘制一盏灯(数组中的最后一个要具体)但我不知道为什么。 xMove 控制阵列的 x 轴并用于绘制,value 控制阵列的 y 轴并用于绘制灯光。
【问题讨论】:
-
格式化成json试试
-
我不是在 json 中编程,这将在 javascript 中工作,所以我更喜欢在 javascript @Ray 中使用它
标签: javascript arrays for-loop multidimensional-array