javascript - 将值分配给二维数组 javascript (node.js) 的问题

标签 javascript node.js

<分区>

我遇到的问题是,当我将二维数组中的值关联到特定行和列时,该值将存储在同一列的多行中

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 ] ]

关于javascript - 将值分配给二维数组 javascript (node.js) 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62855791/

相关文章:

javascript - D3 - 如何在数据值变化时更新力模拟

jquery - 我正在使用 Angular 2 Angular-CLI 并尝试使用 ng2-datetime,但它给出了错误 "TypeError: Cannot read property ' jQuery' of undefined”

javascript - 如何控制 Angular 指令的评估顺序?

javascript - 试图隐藏一个项目 block ,以便在单击特定文本框时显示,

javascript - 如何读取CORS中间件中的自定义 header

javascript - 鼠标选择时突出显示 Pdf 文件中的文本

javascript - Node .on 方法触发次数过多

javascript - 锐利的图像旋转只工作一次

Javascript:我正在尝试编写一个计算函数,它将 "add"两个数字并将结果打印为字符串,但我的语法不起作用

javascript - jQuery addClass()/removeClass() 不工作