Javascript多维数组初始化

Javascript多维数组初始化,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我正在寻找用Javascript初始化多维数组的最佳方法。我更熟悉PHP,在PHP中,我不必在向其提供值之前声明数组或维度 基本上,我试着用以下格式创建一个数组 catalogue[i]["name"]="a name"; catalogue[i]["description"]="a description"; ……等等 如果我这样做: var catalogue = new Array(); for (i=0; i<otherarray.length;i++) {

我正在寻找用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];
    }
var目录=新数组();

对于(i=0;i将其放入循环中,以创建要在其中存储值的对象:

catalog[i]={};
catalog.push({});

您的代码如下所示:

var catalogue = new Array();
for (i=0; i<otherarray.length;i++)
{
   catalogue[i] = {}; // initialization
   catalogue[i]['name']=otherarray[i];
}
var目录=新数组();

对于(i=0;i将其放入循环中,以创建要在其中存储值的对象:

catalog[i]={};
catalog.push({});

您的代码如下所示:

var catalogue = new Array();
for (i=0; i<otherarray.length;i++)
{
   catalogue[i] = {}; // initialization
   catalogue[i]['name']=otherarray[i];
}
var目录=新数组();
对于(i=0;i
var目录=新数组();
对于(i=0;i

var目录=新数组();
对于(i=0;i
var catalog=new Array();
对于(i=0;i

var目录=新数组();
对于(i=0;i
如果希望在Javascript中的数组中使用字符串键,则必须声明一个对象。
目录
变量本身是一个数组,但该数组中的每个元素都是一个对象,具有两个键“name”和“description”。例如,此代码起作用:

var c = [1,2,3,4,5];
var n = ['one', 'two', 'three', 'four', 'five'];
var cat = [];
for (i = 0; i < c.length; i++)
{
  cat[i] = {
    name : n[i],
    value: c[i]
  };
}

如果希望在Javascript中的数组中使用字符串键,则必须声明一个对象。
catalog
变量本身是一个数组,但该数组中的每个元素都是一个具有两个键“name”和“description”的对象。例如,此代码起作用:

var c = [1,2,3,4,5];
var n = ['one', 'two', 'three', 'four', 'five'];
var cat = [];
for (i = 0; i < c.length; i++)
{
  cat[i] = {
    name : n[i],
    value: c[i]
  };
}

请注意,数组在javascript中没有键,只有数字索引,所以您真正想要创建的是一个对象。请使用对象而不是数组。
catalog
不是未定义的,
catalog[i]
是。您可以在
catalog[i]={};
前面写
catalog[i]['name']=otherarray[i]
。注意数组在javascript中没有键,只有数字索引,所以你真正想要创建的是一个对象。使用对象而不是数组。
catalog
不是未定义的,
catalog[i]
是。你可以在
catalog[i]['name']=otherarray[i]之前写
catalog[i]={};
那正是我想要的,非常感谢!那正是我想要的,非常感谢!
var c = [1,2,3,4,5];
var n = ['one', 'two', 'three', 'four', 'five'];
var cat = [];
for (i = 0; i < c.length; i++)
{
  cat[i] = {
    name : n[i],
    value: c[i]
  };
}
Array[5]
    -> 0 : Object
        name: "one"
        value: 1
    -> 1 : Object
        name: "two"
        value: 2
    ...