【问题标题】:Javascript object with multidimensional array具有多维数组的 Javascript 对象
【发布时间】:2017-03-08 07:45:41
【问题描述】:

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

 Map<String, String[][]> objectName

【问题讨论】:

标签: javascript java object


【解决方案1】:
var objectName = {
    'key1': [
      ['string1', 'string2'],
      ['string3', 'string4']
    ],
    'key2': [
      ['string5', 'string6']
    ]
}
console.log(objectName['key1'][0][0]) //string1

【讨论】:

    【解决方案2】:

    地图部分很简单:只需像这样创建一个对象:

    var mymap= {};
    

    然后你可以像这样添加条目:

    mymap["A"]= ...
    

    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.
    

    【讨论】:

      【解决方案3】:

      你可以这样做:

      var objectName = {
          "first": [[1, 2], [2, 3]],
          "second": [[1, 2], [2, 3]]
      };
      

      【讨论】:

        【解决方案4】:
         JSONObject json = new JSONObject(map);
        

        【讨论】:

          【解决方案5】:

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

          以下代码示例说明了数组数组技术。首先,这段代码创建了一个数组f。然后,在外层for循环中,f的每个元素本身都被初始化为new Array();因此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;
           }
          }
          

          【讨论】:

            猜你喜欢
            • 2012-07-23
            • 2020-10-11
            • 1970-01-01
            • 2018-08-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-05-23
            • 1970-01-01
            相关资源
            最近更新 更多