我正在尝试遍历数组并将每个项目分配给所有其他项目。目前在 console.log(i,j)上它确实这样做但我的代码不起作用。在控制台中,您将看到:
我认为问题在于它正在创建 anchorConnectors [i * j] 正在创建不连续的索引的数组,我认为这些数据不起作用。也许我错过了别的东西。感谢任何人提前提供任何帮助。我真诚地感激它。
ErrorDocument 404 "<h2>You Are Wrong!!!</h2><a href=/>Go Home</a>"
答案 0 :(得分:0)
问题不在于数组值不是连续的。这根本不重要。
仔细看看你的逻辑:
for (i = 0; i < anchorPointAmount; i++) {
for (j = 0; j < anchorPointAmount; j++) {
anchorConnectors[j * i] = // something
}
}
现在,通过一些示例值在脑海中运行这个。假设anchorPointAmount
是3
。你的循环迭代看起来像这样:
i=0
,j=0
,j*i=0
(您将索引0
分配给某些内容)i=0
,j=1
,j*i=0
(您将索引0
分配给某些内容)i=0
,j=2
,j*i=0
(您将索引0
分配给某些内容)i=1
,j=0
,j*i=0
(您将索引0
分配给某些内容)i=1
,j=1
,j*i=1
(您将索引1
分配给某些内容)i=1
,j=2
,j*i=2
(您将索引2
分配给某些内容)i=2
,j=0
,j*i=0
(您将索引0
分配给某些内容)i=2
,j=1
,j*i=2
(您将索引2
分配给某些内容)i=2
,j=2
,j*i=4
(您将索引4
分配给某些内容)换句话说,你只需要多次覆盖这些索引的任何值,这不是你想要做的。
您可能正在寻找 2D阵列。谷歌是你的朋友,但基本知识将是这样的:
for (i = 0; i < anchorPointAmount; i++) {
for (j = 0; j < anchorPointAmount; j++) {
anchorConnectors[j][i] = // something
}
}