【问题标题】:How to print the following Multi-Dimensional array in Java Script?如何在 Javascript 中打印以下多维数组?
【发布时间】:2011-10-04 18:23:35
【问题描述】:

我有以下数组(代码是用Java编写的):

String[][] a = new String[3][2];
a[0][0] = "1"; 
a[0][1] = "2"; 

a[1][0] = "1";  
a[1][1] = "2"; 

a[2][0] = "1";
a[2][1] = "2"; 

我想做的是打印 111222,我通过这样做在 Java 中完成了这一点:

for (int i=0;i < a[i].length;i++){
    for(int j=0;j <a.length;j++){
        System.out.print(a[j][i]);
    }
}

在 JavaScript 中 this 的等价物是什么?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    这是 Javascript 中的等效代码(没有空格,它不是 java 的脚本版本)

    !编辑错过了循环的细节,现在修复了

    var a = [];
    a.push(["1", "2"]);
    a.push(["1", "2"]);
    a.push(["1", "2"]);
    
    for(var i = 0; i < a[i].length; i++) {
      for(var z = 0; z < a.length; z++) {
        console.log(a[z][i]);
      }
    }
    

    【讨论】:

    • 这是不对的,它会像这样打印数组(121212)我想要的是打印类似下面的111222
    • for循环位和java一样写你想写
    • 我没有看到你奇怪地嵌套了它真的是你想要的行为吗?
    • 是的,我想将它用于特殊用途的功能。
    • 哇,有人能详细说明一下这段代码吗?虽然很漂亮,但我不明白a[z][i] 是如何打印它的打印内容的。谢谢
    【解决方案2】:
    for (i=0; i < a.length; i++) {
       for (j = 0; j < a[i].length; j++) { document.write(a[i][j]); }
    }
    

    虽然将所有字符串添加在一起并将它们作为一个打印出来会更聪明(可以添加到元素或警告它。)

    【讨论】:

    • 这将再次打印这样的数组 (121212) 我想要的是打印类似于以下 111222 的内容
    【解决方案3】:
    var arr =[
            [1,2,3],
            [4,5,6],
            [7,8,9]
            ],arrText='';
    
            for (var i = 0; i < arr.length; i++) {
                for (var j = 0; j < arr[i].length; j++) {
                    arrText+=arr[i][j]+' ';
                }
                console.log(arrText);
                arrText='';
            }
    

    输出:

    【讨论】:

      【解决方案4】:
      • 在 javascript 中,您可以使用单维数组创建多维数组 维数组。
      • 为数组中的每个元素分配另一个数组以使其多 维度。

          // first array equivalent to rows 
          let a = new Array(3);
          
          // inner array equivalent to columns
          for(i=0; i<a.length; i++) {
            a[i] = new Array(2);
          }
          
          // now assign values
          a[0][0] = "1"; 
          a[0][1] = "2"; 
      
          a[1][0] = "1";  
          a[1][1] = "2"; 
      
          a[2][0] = "1";
          a[2][1] = "2";
          
          /* console.log appends new line at end. So concatenate before     printing */
          
          let out="";
          for(let i=0; i<a.length; i++) {
            for(let j=0; j<a[i].length; j++) {
              out = out + a[i][j];
            }
          }
          console.log(out);

      【讨论】:

        【解决方案5】:
        var a = [];
        
        a[0] = [];
        a[0][0] = "1";
        a[0][1] = "2";
        
        a[1] = [];
        a[1][0] = "1";
        a[1][1] = "2";
        
        a[2] = [];
        a[2][0] = "1";
        a[2][1] = "2";
        
        for (i = 0; i < a[i].length; i++) {
            for (j = 0; j < a.length; j++) {
                document.write(a[j][i]);
            }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-05-30
          • 2020-10-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多