我遇到的问题是,当我将二维数组中的值关联到特定行和列时,该值将存储在同一列的多行中
var Matrix = Array(3).fill(Array(3).fill(0));
console.log(Matrix);
Matrix[1][2]=1;
console.log(Matrix);
and the output is :
/// the 2d array
[ [ 0, 0, 0 ], [ 0, 0, 0 ], [ 0, 0, 0 ] ]
/// after 'Matrix[1][2]=1'
[ [ 0, 0, 1 ], [ 0, 0, 1 ], [ 0, 0, 1 ] ]
你在第一行声明的树子数组,被引用到同一个数组,就像一个指针。
尝试这样的事情:
var Matrix = []
Matrix.push(Array(3).fill(0))
Matrix.push(Array(3).fill(0))
Matrix.push(Array(3).fill(0))
console.log(Matrix);
Matrix[1][2]=1;
console.log(Matrix);
输出
/// the 2d array
[ [ 0, 0, 0 ], [ 0, 0, 0 ], [ 0, 0, 0 ] ]
/// after 'Matrix[1][2]=1'
[ [ 0, 0, 0 ], [ 0, 0, 1 ], [ 0, 0, 0 ] ]