javascript - 使用 javascript 中的坐标更新 3d 矩阵

标签 javascript matrix

我正在尝试在 JavaScript 中创建一个 3D 矩阵,然后我想通过使用其坐标来更新其值:

var xAxis = [];
var yAxis = [];
var ZAxis = [];
var dimensions = 4;

//initalize matrix

for (var i=0;i<dimensions;i++){
    xAxis.push(0);
}
for (var j=0;j<dimensions;j++){
    yAxis.push(xAxis);
}
for (var k=0;k<dimensions;k++){
    matrix.push(yAxis);
}

//check value of one point in the matrix
matrix[1][2][3]; //returns 0 as expected
//update value of matrix using same coordinates
matrix[1][2][3] = 2;

当我运行最后一步时,它不仅会更新我的预期 1 [2][3] 坐标,但它还会将每个数组的每第三个值更新为 2,如下图所示: enter image description here

我怎样才能只更新我想要的值?我的意思是,数字 2 应该只在一个坐标点上,在本例中 1 [2][3]。

注意: 我认为它有一些事情要做,它可能会将原始数组分配到矩阵中而不是它们自己的新副本,所以当我更新一个坐标时,我实际上是在更新原始数组,而其他数组只是指向原创,所以这就是为什么它也被反射(reflect)在那里?

最佳答案

您可以通过引用推送数组。

考虑以这种方式创建矩阵:

var matrix = [0, 1, 2, 3].map(function() {
    return new Array(4).fill().map(function(){
        return new Array(4).fill(0);
    });
});

关于javascript - 使用 javascript 中的坐标更新 3d 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36781222/

相关文章:

javascript - 将矩阵输出文本更改为西里尔文 unicode 脚本

javascript - 有没有办法阻止 Karma 提供缓存文件?

javascript - 如何使用 javascript 创建自定义关键帧 css 动画

Python-性能-将大型 numpy 数组作为字符串打印到选项卡文件

Python - Pandas 数据框中日期的日历 View

python - 如何在重复数字的python中创建矩阵?

javascript - 平均JS : MissingSchemaError when runnig server

javascript - Gulp browserSync 不会自动重新加载

javascript - JS根据类型通过HTML ID标签搜索有限制吗?

c++ - 选择矩形以最大化面积