Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有多维数组的Javascript对象_Javascript_Java_Object - Fatal编程技术网

具有多维数组的Javascript对象

具有多维数组的Javascript对象,javascript,java,object,Javascript,Java,Object,我对JavaScript非常陌生。我在Java中有以下对象,我需要在JavaScript中创建等效对象,但我无法实现这一点: Map<String, String[][]> objectName 映射对象名 您可以这样做: var objectName = { "first": [[1, 2], [2, 3]], "second": [[1, 2], [2, 3]] }; var mymap= {}; mymap["A"]= ... mymap["A"]=

我对JavaScript非常陌生。我在Java中有以下对象,我需要在JavaScript中创建等效对象,但我无法实现这一点:

 Map<String, String[][]> objectName
映射对象名

您可以这样做:

var objectName = {
    "first": [[1, 2], [2, 3]],
    "second": [[1, 2], [2, 3]]
};
var mymap= {};
mymap["A"]= ...
mymap["A"]= []; // this creates an empty array (first dimension)
mymap["A"][0]= []; // the array grows 1, containing a (2nd dim) empty array
mymap["A"][0].push("1");
mymap["A"][0].push("2"); // your first array contains one array of 2 strings
mymap["A"][1]= []; 
mymap["A"].push([]); // = mymap["A"][2]= []; 
// etc.

JavaScript没有用于创建多维数组的特殊语法。一个常见的解决方法是在嵌套循环中创建一个数组

下面的代码示例演示了数组的数组技术。首先,此代码创建一个数组
f
。然后,在外部for循环中,
f
的每个元素本身初始化为
newarray()
;因此,
f
成为一个数组数组。在内部for循环中,每个新创建的“内部”数组中的所有元素
f[i][j]
都设置为零

var iMax = 20;
var jMax = 10;
var f = new Array();

for (i=0;i<iMax;i++) {
 f[i]=new Array();
 for (j=0;j<jMax;j++) {
  f[i][j]=0;
 }
}
var iMax=20;
var jMax=10;
var f=新数组();

对于(i=0;i贴图部分很简单:只需创建如下对象:

var objectName = {
    "first": [[1, 2], [2, 3]],
    "second": [[1, 2], [2, 3]]
};
var mymap= {};
mymap["A"]= ...
mymap["A"]= []; // this creates an empty array (first dimension)
mymap["A"][0]= []; // the array grows 1, containing a (2nd dim) empty array
mymap["A"][0].push("1");
mymap["A"][0].push("2"); // your first array contains one array of 2 strings
mymap["A"][1]= []; 
mymap["A"].push([]); // = mymap["A"][2]= []; 
// etc.
然后您可以添加如下条目:

var objectName = {
    "first": [[1, 2], [2, 3]],
    "second": [[1, 2], [2, 3]]
};
var mymap= {};
mymap["A"]= ...
mymap["A"]= []; // this creates an empty array (first dimension)
mymap["A"][0]= []; // the array grows 1, containing a (2nd dim) empty array
mymap["A"][0].push("1");
mymap["A"][0].push("2"); // your first array contains one array of 2 strings
mymap["A"][1]= []; 
mymap["A"].push([]); // = mymap["A"][2]= []; 
// etc.

现在来看最难的部分,2D字符串数组。不幸的是(当然幸运的是,取决于您的视图),您可以而且不需要定义这样的对象。您只需动态创建它,如下所示:

var objectName = {
    "first": [[1, 2], [2, 3]],
    "second": [[1, 2], [2, 3]]
};
var mymap= {};
mymap["A"]= ...
mymap["A"]= []; // this creates an empty array (first dimension)
mymap["A"][0]= []; // the array grows 1, containing a (2nd dim) empty array
mymap["A"][0].push("1");
mymap["A"][0].push("2"); // your first array contains one array of 2 strings
mymap["A"][1]= []; 
mymap["A"].push([]); // = mymap["A"][2]= []; 
// etc.

可能重复的感谢,非常清楚的理解。