Create multidimensional array javascript for loop

Multidimensional Arrays in JavaScript

Question: How do I create a two-dimensional array in JavaScript?

Answer: JavaScript does not have a special syntax for creating multidimensional arrays. A common workaround is to create an array of arrays in nested loops. (This technique is used, for example, to define the game board arrays in several games on this site, such as the JavaScript Tetris game.)

The following code example illustrates the array-of-arrays technique. First, this code creates an array f. Then, in the outer for loop, each element of f is itself initialized as new Array(); thus f becomes an array of arrays. In the inner for loop, all elements f[i][j] in each newly created "inner" array are set to zero.

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;
 }
}

See also:
Creating an array
Deleting an array element
Are arrays a separate data type?
Array.sort() method

Multidimensional arrays are not directly provided in JavaScript. If we want to use anything which acts as a multidimensional array then we need to create a multidimensional array by using another one-dimensional array. So multidimensional arrays in JavaScript is known as arrays inside another array. We need to put some arrays inside an array, then the total thing is working like a multidimensional array. The array, in which the other arrays are going to insert, that array is use as the multidimensional array in our code. To define a multidimensional array its exactly the same as defining a normal one-dimensional array.

One-Dimensional array:

var arr = []; // Empty 1D array
var arr1 = ["A", "B", "C", "D"] // 1D array contains some alphabets
var arr1 = [1, 2, 3, 4, 5] // 1D array contains some digits

Multidimensional-Dimensional array:

  • Method 1:
    1st, need to define some 1D array
    var arr1 = ["ABC", 24, 18000];
    var arr2 = ["EFG", 30, 30000];
    var arr3 = ["IJK", 28, 41000];
    var arr4 = ["EFG", 31, 28000];
    var arr5 = ["EFG", 29, 35000];
    // "salary" defines like a 1D array but it already contains some 1D array
    var salary = [arr1, arr2, arr3, arr4, arr5]; 

    Here arr1, arr2, …arr5 are some 1D arrays which are inside salary array.

  • Method 2:
    var salary = [
       ["ABC", 24, 18000],
       ["EFG", 30, 30000],
       ["IJK", 28, 41000],
       ["EFG", 31, 28000],
    ];

    Here, salary array works like a multidimensional array. This notations are known as array literals.

Accessing the element of salary array:

  • To access the array element we need a simple index based notation
    // This notation access the salary of "ABC" person which is 18000, 
    // [0] selects 1st row, and [2] selects the 3rd element
    // of that 1st row which is 18000
    salary[0][2];
    
    // Similarly, 
    salary[3][2]; // Selects 28000
    
    **This notation is used for both Method 1 and Method 2.
    
  • For many iteration, we need to use loop to access the elements,
    // This loop is for outer array
    for (var i = 0, l1 = salary.length; i < l1; i++) {
    
        // This loop is for inner-arrays
        for (var j = 0, l2 = salary[i].length; j < l2; j++) {
    
            // Accessing each elements of inner-array
            documents.write( salary[i][j] ); 
        }
    }

Adding elements in Multidimensional Array: Adding elements in multi-dimensional arrays can be achieved in two ways in inner array or outer array. The inner array can be done in two different ways.

  • Adding elements to inner array:
    • We can use simple square bracket notation to add elements in multidimensional array.
      salary[3][3] = "India";
      
      // It adds "India" at the 4th index of 4th sub-array,
      // If we print the entire 4th sub-array, document.write(salary[3]);
      // the output will be :  ["EFG", 31, 28000, "India"]
      // indexing starts from 0
    • We can use push() method to add elements in the array.
      salary[3].push("India", "Mumbai");
      
      // It add "India" at the 4th index and "Mumbai" at
      // 5th index of 4th sub-array
      // If we print the entire 4th sub-array,
      // document.write(salary[3]);
      // The output will be :  ["EFG", 31, 28000, "India", "Mumbai"]
      // Indexing starts from 0
  • Adding elements to outer array: It is much similar to previous methods.
    salary.push(["MNO", 29, 33300]);
    // This row added after the last row in the "salary" array

Removing elements in Multidimensional Array: We can use pop() methods to remove elements from inner-arrays, and also use pop() method for removing a entire inner array.

// Remove last element from 4th sub-array
// That is 28000 indexing starts from 0
salary[3].pop(); 

// Removes last sub-array
// That is "["EFG", 31, 28000]"
salary.pop();
  • Example 1:

    <script>

    var arr1 = ["ABC", 24, 18000];

    var arr2 = ["EFG", 30, 30000];

    var arr3 = ["IJK", 28, 41000];

    var arr4 = ["EFG", 31, 28000];

    var arr5 = ["EFG", 29, 35000];

    var salary = [arr1, arr2, arr3, arr4, arr5]; 

    for(var i = 0; i < salary.length; i++) {

        document.write(salary[i] + "<br>");

    }

    </script>

    Output:

    ABC, 24, 18000
    EFG, 30, 30000
    IJK, 28, 41000
    EFG, 31, 28000
    EFG, 29, 35000
  • Example 2:

    <script>

    var salary = [

       ["ABC", 24, 18000],

       ["EFG", 30, 30000],

       ["IJK", 28, 41000],

       ["EFG", 31, 28000],

    ]; 

    for(var i = 0; i < salary.length; i++) {

        document.write(salary[i] + "<br>");

    }

    </script>                    

    Output:

    ABC, 24, 18000
    EFG, 30, 30000
    IJK, 28, 41000
    EFG, 31, 28000
    EFG, 29, 35000
  • Example 3:

    <script>

    var salary = [

       ["ABC", 24, 18000],

       ["EFG", 30, 30000],

       ["IJK", 28, 41000],

       ["EFG", 31, 28000],

    ]; 

    document.write("salary of 2nd person : " + salary[1][2] + "<br>");

    document.write("salary of 4th person : " + salary[3][2] + "<br>");

    </script>                    

    Output:

    salary of 2nd person : 30000
    salary of 4th person : 28000
  • Example 4:

    <script>

    var salary = [

       ["ABC", 24, 18000],

       ["EFG", 30, 30000],

       ["IJK", 28, 41000],

       ["EFG", 31, 28000],

    ]; 

    document.write("Original array :<br>");

    for(var i = 0; i < salary.length; i++) {

        document.write(salary[i] + "<br>");

    }

    salary[3][3] = "India";

    document.write("<br>after adding \"India\" at the 4th array :<br>");

    for(var i = 0; i < salary.length; i++) {

        document.write(salary[i] + "<br>");

    }

    document.write("<br>after adding \"USA\" and \"Canada\" "

         + "at the 3rd array using \"push()\" method :<br>");

    salary[2].push("USA", "Canada");

    for(var i = 0; i < salary.length; i++) {

        document.write(salary[i] + "<br>");

    }

    </script> 

    Output:

    Original array :
    ABC, 24, 18000
    EFG, 30, 30000
    IJK, 28, 41000
    EFG, 31, 28000
    
    after adding "India" at the 4th array :
    ABC, 24, 18000
    EFG, 30, 30000
    IJK, 28, 41000
    EFG, 31, 28000, India
    
    after adding "USA" and "Canada" at the 3rd array using "push()" method :
    ABC, 24, 18000
    EFG, 30, 30000
    IJK, 28, 41000, USA, Canada
    EFG, 31, 28000, India
  • Example 5:

    <script>

    var salary = [

       ["ABC", 24, 18000],

       ["EFG", 30, 30000],

       ["IJK", 28, 41000],

       ["EFG", 31, 28000],

    ]; 

    document.write("Original array :<br>");

    for(var i = 0; i < salary.length; i++) {

        document.write(salary[i] + "<br>");

    }

    document.write("<br>After adding a new inner array :<br>");

    salary.push(["MNO", 29, 33300]);

    for(var i = 0; i < salary.length; i++) {

        document.write(salary[i] + "<br>");

    }

    </script> 

    Output:

    Original array :
    ABC, 24, 18000
    EFG, 30, 30000
    IJK, 28, 41000
    EFG, 31, 28000
    
    After adding a new inner array :
    ABC, 24, 18000
    EFG, 30, 30000
    IJK, 28, 41000
    EFG, 31, 28000
    MNO, 29, 33300
  • Example 6:

    <script>

    var salary = [

       ["ABC", 24, 18000],

       ["EFG", 30, 30000],

       ["IJK", 28, 41000],

       ["EFG", 31, 28000],

    ]; 

    document.write("Original array :<br>");

    for(var i = 0; i < salary.length; i++) {

        document.write(salary[i] + "<br>");

    }

    document.write("<br>After removing last element " 

                + "of last inner array :<br>");

    salary[3].pop();

    for(var i = 0; i < salary.length; i++) {

        document.write(salary[i] + "<br>");

    }

    document.write("<br>After removing last inner array :<br>");

    salary.pop();

    for(var i = 0; i < salary.length; i++) {

        document.write(salary[i] + "<br>");

    }

    </script> 

    Output:

    Original array :
    ABC, 24, 18000
    EFG, 30, 30000
    IJK, 28, 41000
    EFG, 31, 28000
    
    After removing last element of last inner array :
    ABC, 24, 18000
    EFG, 30, 30000
    IJK, 28, 41000
    EFG, 31
    
    After removing last inner array :
    ABC, 24, 18000
    EFG, 30, 30000
    IJK, 28, 41000

JavaScript is best known for web page development but it is also used in a variety of non-browser environments. You can learn JavaScript from the ground up by following this JavaScript Tutorial and JavaScript Examples.


How do you loop a multidimensional array?

Looping through multidimensional arrays Just as with regular, single-dimensional arrays, you can use foreach to loop through multidimensional arrays. To do this, you need to create nested foreach loops — that is, one loop inside another: The outer loop reads each element in the top-level array.

How do you create a multidimensional array?

You can create a multidimensional array by creating a 2-D matrix first, and then extending it. For example, first define a 3-by-3 matrix as the first page in a 3-D array. Now add a second page. To do this, assign another 3-by-3 matrix to the index value 2 in the third dimension.

Does JavaScript have multidimensional arrays?

Javascript has no inbuilt support for multidimensional arrays, however the language is flexible enough that you can emulate this behaviour easily by populating your arrays with separate arrays, creating a multi-level structure.

How multidimensional array works in JavaScript?

Here is how you can create multidimensional arrays in JavaScript. let student1 = ['Jack', 24]; let student2 = ['Sara', 23]; let student3 = ['Peter', 24]; // multidimensional array let studentsData = [student1, student2, student3];