简体   繁体   中英

How to print the following Multi-Dimensional array in Java Script?

I have the following array (the code is written in 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"; 

and what I want to do is to print 111222 and I accomplished that in Java by doing this:

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

What is the equivalent of this in JavaScript?

Here is the equivalent code in Javascript (no space its not a script version of java)

! edit missed the particulars of the loops, fixed now

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]);
  }
}
for (i=0; i < a.length; i++) {
   for (j = 0; j < a[i].length; j++) { document.write(a[i][j]); }
}

Though it would be smarter to add all the strings together and the print them out as one (could add to an element or alert it out.)

  • In javascript you can create multi dimensional array using single dimensional arrays.
  • For every element in an array assign another array to make it multi dimensional.

  // 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); 

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]);
    }
}
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='';
        }

Output: 在此输入图像描述

js is very powerfull; just use spread operator

 mat = [[1,2,3],[3,4,5]] mat.forEach(v=>console.log(...v));

// output run the code see the output.
1 2 3
3 4 5

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM