我创建了一个数组:
var test = new Array(5);
for (i=0; i<=5; i++)
{
test[i]=new Array(10);
}
Run Code Online (Sandbox Code Playgroud)
现在我想在该字段中添加对象:
test[0][5].push(object);
Run Code Online (Sandbox Code Playgroud)
但出现错误:
未捕获的TypeError:无法调用未定义的方法'push'
我正在使用"推",因为我想将0-4个对象放入此字段,但我不确切知道有多少个对象.我应该如何改变它以使其正确?
表达式test[0]引用一个新的Array实例,由该行创建:
test[i]=new Array(10);
Run Code Online (Sandbox Code Playgroud)
然而,没有什么在该数组.因此,test[0][5]指的是未定义的对象.你需要初始化那之前,你可以到一个数组push()到它的东西.例如:
test[0][5] = []; // Set [0][5] to new empty array
test[0][5].push(object); // Push object onto that array
Run Code Online (Sandbox Code Playgroud)
甚至:
test[0][5] = [object]; // Set [0][5] to one item array with object
Run Code Online (Sandbox Code Playgroud)