How to create an n-dimensional (multidimensional) array in JavaScript?


How can I put an array in a multidimensional array in JavaScript, without wrapping it in quotes?

That is, there is an array - you need to put 3 more arrays in it with 3 elements in each.

Ultimately I need to get a multidimensional array of this kind:

var big_array= [[2, 5, 7], [3, 1, 4], [6, 8, 9]];

I tried to add arrays via push and supposedly emulate arrays...

big_array.push("["+var1+","+var2+","+var3+"]");  //это пример добавления первого массива с данными (2,5,7)  

Но результат получается вот такой, с кавычками:

["[2,5,7]"]    //это big_array

When it should be:

[[2,5,7]]

How can this be done?

Author: Arthur Alunts, 2012-04-08

3 answers

big_array.push("["+var1+","+var2+","+var3+"]"); // LOL

big_array.push([var1, var2 ,var3]);// не?..

You cram a string and are surprised that it is a string that is added to the array? O_O

 5
Author: , 2012-04-08 12:29:28

EXAMPLE OF CREATING AN ARRAY USING THE Array OBJECT CONSTRUCTOR:

var arr = new Array(3);//Создание массива на 3 элемента
arr[0] = new Array(3); //вставл. в первый элемент массив на 3 элемента
arr[1] = new Array(3); //вставл. в второй элемент массив на 3 элемента
arr[2] = new Array(3); //вставл. в третий элемент массив на 3 элемента
//...

EXAMPLE OF CREATING AN ARRAY USING SQUARE BRACKETS:

var arr = [];    //Создание пустого массива
arr[0]  = [];     //вставл. в первый элемент массив
arr[1]  = [];     //вставл. в второй элемент массив
arr[2]  = [];     //вставл. в третий элемент массив
//...

NOTE: In JavaScript, Array objects are dynamic, i.e. the number of elements can be added or reduced at any time during the execution of the program. Based on this, you can add the desired number of elements of the desired type to any level of a multidimensional array, both in the first and second method.

EXAMPLE OF CREATING A MULTIDIMENSIONAL ARRAY (10x10) USING A LOOP:

  var tаblе = new Array (10); // 10 строк таблицы

  for (var i=0; i < tаblе.length; i++) {
      tаblе[i] = new Array(10); // 10 столбцов
  }
 2
Author: Evgeniy Miroshnichenko, 2017-12-19 19:43:41

Example of creating any n-dimensional array with any length (parameters), for example, 4-dimensional - 5x5x5x5, or, for example, 5 - dimensional - 5x4x3x2x2, - with the corresponding lengths (cluster size). Note that length indexing starts from zero.

function createNDimArray(dimensions) {
    if (dimensions.length > 0) {
        var dim = dimensions[0];
        var rest = dimensions.slice(1);
        var newArray = new Array();
        for (var i = 0; i < dim; i++) {
            newArray[i] = createNDimArray(rest);
        }
        return newArray;
     } else {
        return undefined;
     }
 }
//4-мерный массив 5x5x5x5 создается так:
var MyArray=createNDimArray([5, 5, 5, 5]);
MyArray[4][4][4][4]="MyArray 4d MyValue";
alert(MyArray[4][4][4][4]);


//5-мерный массив 5x4x3x2x2 создается так:
var MyArray_5d=createNDimArray([5, 4, 3, 2, 2]);
MyArray_5d[4][3][2][1][1]="MyArray 5d MyValue";
alert(MyArray_5d[4][3][2][1][1]);
 0
Author: Arthur Alunts, 2020-06-24 17:58:11