我试图在3d javascript数组中设置值...
var a = [];
var b = [];
var c = [];
var array = [a,b,c];
array[0][0][0] = 'value';
此代码返回错误:“无法设置未定义的属性'0'但是2d数组正常工作:
var a = [];
var b = [];
var array = [a,b];
array[0][0] = 'value';
答案 0 :(得分:2)
这不是3D数组,即2D数组,字面翻译为:
[[],[],[]]
答案 1 :(得分:2)
[[],[],[]]
- 一个包含3个并行数组的数组。
这就是为什么你无法访问array[0][0][0]
,因为你获得的最深层是2级。这就是为什么第二个例子中的代码有效的原因。
我认为你对数组感到困惑。也许你应该再读一下编程,数组和整个想法?
如果你想拥有一个包含3个leves的数组,这是一个很好的例子:一个数组中的数组,它在一个数组本身
var a3l_a = [[[]]];
// equals:
var a3l_b = new Array(new Array(new Array()));