我需要填充多维数组,但不是来自第零个元素,而是来自第3个,但是在尝试这样做时会出错:
代码是:
var matrix = [ [] ];
matrix[3][0] = 10;
print(matrix[3][0]);
然后出错: “无法设置属性'0'的值:object为null或undefined”
但是当从第0个元素执行相同操作时它会起作用:
var matrix = [ [] ];
matrix[0][0] = 10;
print(matrix[0][0]);
这里没有错误 - 为什么?
答案 0 :(得分:3)
创建初始数组时:
var matrix = [ [] ];
你有一个包含单个零元素数组的数组。此时,matrix[3]
为undefined
。
您可以通过多种方式初始化矩阵,具体取决于问题的性质。这是一个:
var matrix = [];
for (var i = 0; i < 10; ++i)
matrix[i] = [];
现在你有10行,每行都是空的。