JavaScript动态扩展/收缩矩阵 - 如何实现?

时间:2016-06-16 08:56:53

标签: javascript arrays matrix multidimensional-array

我需要在JavaScript中创建一个Matrix来保存一些数据。它应该能够在我决定附加新矩阵时动态扩展和收缩,而不会丢失数据(除非删除包含数据的行,否则数据将丢失)。

假设我有一个4x3矩阵。

[][][][]
[][][][]
[][][][]

然后我想添加一个6x5矩阵。现在它看起来像这样......

[][][][] [][][][][][]
[][][][] [][][][][][]
[][][][] [][][][][][]
         [][][][][][]
         [][][][][][]

但是,我想填充那些空白区域,而不重置原始数据单元格。像这样:

[][][][] [][][][][][]
[][][][] [][][][][][]
[][][][] [][][][][][]
[][][][] [][][][][][]
[][][][] [][][][][][]

到目前为止,我已经开始使用:this.mainMatrix = Array(x).fill(Array(y));

现在我该怎么办?

1 个答案:

答案 0 :(得分:1)

为什么不使用像math.js这样的矩阵(密集和稀疏)库?



var matrixA = math.matrix([
  [1, 2],
  [3, 4]
]); // Matrix
var matrixB = math.matrix([
  [5, 6],
  [7, 8]
]); // Matrix

var matrixC = math.add(matrixA, matrixB);

console.log(matrixA, matrixB, matrixC)

<script src="http://cdnjs.cloudflare.com/ajax/libs/mathjs/3.2.1/math.min.js"></script>
&#13;
&#13;
&#13;