1

我是javascript开发的新手。我有类似的东西:

var array1=[];
array1[0][0]={};
var dic={'title':'111','url':'222'};
array1[0][0]=dic;

但它没有工作?有什么问题?如何将字典推送到多维数组或另一个字典?

4

2 回答 2

5

你跳过了一个步骤:

var array1 = [[]];
array1[0][0] = {};

您的声明只是创建一个一维数组(好吧,JavaScript 中的所有数组都是一维的)。在上面的版本中,我创建了一个一维数组并将其初始化为包含另一个一维数组。

像这样可能更清楚:

var array1 = [];
array1[0] = [];
array1[0][0] =  {};

如果您没有将另一个数组放在第一个数组的第一个位置,那么在随后的赋值中引用它的尝试将失败。这个说法:

array1[0][0] = {};

涉及获取的值,array1[0]以便它可以反过来用作数组。因为您没有在其中放置数组,所以该语句会导致异常。

于 2012-09-01T15:32:31.553 回答
1

它不起作用,因为array1[0]is undefined(因为没有具有此类索引的元素)并且undefined不是数组或对象,它没有任何属性,您不能为某些属性分配 valye。

于 2012-09-01T15:35:29.640 回答