JavaScript - 数组 - 更改一个元素,但为什么整列更改?

时间:2015-04-26 22:04:21

标签: javascript arrays

我是JavaScript新手,我想初始化一个2D数组并更改其中一个字符。但是,当我更改其中一个数组值时,例如abc [1,1],整列改变了。我想问为什么以及如何预防呢?我曾尝试使用.slice制作副本,但似乎不起作用

positionOffset

1 个答案:

答案 0 :(得分:2)

comma operator计算两个表达式并返回最后一个表达式。因此i,j会返回j

实际上,您使用的是1D阵列,而不是2D阵列。

正确的方法是:

var abc = Array(3);
for(var i=0; i<3; ++i) {
   abc[i] = Array(3); 
   for(var j=0; j<3; ++j)
      abc[i][j] = "-"
}
abc[1][1] = "1";