具有多维数组的Javascript对象
我对JavaScript非常陌生。我在Java中有以下对象,我需要在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"]=
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.
可能重复的感谢,非常清楚的理解。