我是javascript开发的新手。我有类似的东西:
var array1=[];
array1[0][0]={};
var dic={'title':'111','url':'222'};
array1[0][0]=dic;
但它没有工作?有什么问题?如何将字典推送到多维数组或另一个字典?
我是javascript开发的新手。我有类似的东西:
var array1=[];
array1[0][0]={};
var dic={'title':'111','url':'222'};
array1[0][0]=dic;
但它没有工作?有什么问题?如何将字典推送到多维数组或另一个字典?
你跳过了一个步骤:
var array1 = [[]];
array1[0][0] = {};
您的声明只是创建一个一维数组(好吧,JavaScript 中的所有数组都是一维的)。在上面的版本中,我创建了一个一维数组并将其初始化为包含另一个一维数组。
像这样可能更清楚:
var array1 = [];
array1[0] = [];
array1[0][0] = {};
如果您没有将另一个数组放在第一个数组的第一个位置,那么在随后的赋值中引用它的尝试将失败。这个说法:
array1[0][0] = {};
涉及获取的值,array1[0]
以便它可以反过来用作数组。因为您没有在其中放置数组,所以该语句会导致异常。
它不起作用,因为array1[0]
is undefined
(因为没有具有此类索引的元素)并且undefined
不是数组或对象,它没有任何属性,您不能为某些属性分配 valye。