在 Javascript 中,我有一个行数和列数可变的矩阵,我希望将其存储在一个多维数组中。
问题是我还需要在矩阵中添加额外的 3 列和 3 行带有 negative 索引。因此 10x10 矩阵的结果应该是一个 13x13 数组,索引从 -3 到 9。
我定义数组:
var numberofcolumns = 10;
var numberofrows = 10;
var matrix = [];
for (var x = -3; x < numberofcolumns; x++) {
matrix[x] = [];
}
这样做正确吗?或者有更好的方法吗?
最佳答案
虽然您可以创建负数的属性,但是您失去了一些 Javascript 的伪数组魔法。特别是,matrix.length
仍然是 10,即使它有 13 个元素。总体而言,代码可能会让任何阅读它的人感到惊讶。
您最好定义一个偏移量以从数组索引中获取所需的值,反之亦然:
var offset = 3
for (var x=-3; x<numberofcolumns; x++) {
matrix[x+offset] = []
}
关于javascript - 如何动态创建具有负索引的多维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12887401/