我正在寻找初始化Javascript中的多维数组的最佳方法。我对PHP非常熟悉,在向PHP提供值之前,我无须声明数组或维度。
基本上我想做的就是用以下格式创建一个数组
catalogue[i]["name"]="a name";
catalogue[i]["description"]="a description";
...等等...
如果我执行以下操作:
var catalogue = new Array();
for (i=0; i<otherarray.length;i++)
{
catalogue[i]['name']=otherarray[i];
}
目录未定义,我也尝试使用catalog [i] .name,但存在相同问题。如果我只分配一个简单的值,例如catalogue [i] = 2,则可以,但这不是我想要的。我找不到想要的工作示例。
我是否需要初始化数组的每个可能的维,然后才能使用新值对其进行馈送?
谢谢
劳伦特
最佳答案
将其放入循环中以创建要在其中存储值的对象:catalogue[i] = {};
或catalogue.push({});
您的代码将如下所示:
var catalogue = new Array();
for (i=0; i<otherarray.length;i++)
{
catalogue[i] = {}; // initialization
catalogue[i]['name']=otherarray[i];
}
请注意,您可以在同一行中初始化和分配值:
var catalogue = new Array();
for (i=0; i<otherarray.length;i++)
{
catalogue[i] = {
name: otherarray[i],
otherKey: 'otherValue' // list all of your keys and values
};
}