Search code examples
javascriptmultidimensional-arraydynamic-arrays

javascript declaring, and inserting to a multi-dimensional array


I now multi-dimensional array in javascript is a bit silly. But in my program I have to use it. I want to declare a dynamic 3 columns and m-rows array using javascript and then in a loop i need to insert some element to that array. finally i want to display that array.

   var x = new Array();
    for (var y=0; y<=counter; y++) {
    x[y] = new Array (3);
x[y][0]='a';
x[y][1]='b';
x[y][2]='c';
    }

your help is highly appreciated ...


Solution

  • arrays grow as needed and so there is no point in declaring the length of the array. what you started with is fine. http://books.google.ca/books?id=4RChxt67lvwC&pg=PA141&lpg=PA141&dq=JS+array+grow+as+needed?&source=bl&ots=tgY8BlGXm8&sig=_3jcH1LTmYi9QiXxn9pHROpbN1s&hl=en&sa=X&ei=7v60T_XwA4ThggfGuoEX&ved=0CEoQ6AEwAQ#v=onepage&q=JS%20array%20grow%20as%20needed%3F&f=false

    http://www.codingforums.com/showthread.php?t=5198

    just a heads up it will create an array that is 1 bigger then counter. this is b/c in your for loop you have y<=counter and y starting at 0. if you want the length to be counter change it to

        y<counter
    

    in order to display the array you might want to consider a for nested loop.

    JS

    for(var i=0; i<x.length; i++)
      for (var j=0; j<3; j++)
        alert(x[i][j]);
    

    where x is the reference to the array. if you want to print the entire array at once consider creating a string from the elements in the array and print that

    function displayArray(x){
    var stringArray='';
     for(var i=0; i<x.length; i++)
      for (var j=0; j<3; j++)
        stringArray+= x[i][j];
     alert(stringArray);
    

    }