Compartir a través de


Matrices de matrices

Es posible crear una matriz y rellenarla con otras matrices. La matriz base puede ser una matriz JScript o una matriz con tipo. Las matrices JScript aportan mayor flexibilidad en los tipos de datos almacenados, mientras que las matrices con tipo evitan que se almacenen datos con tipo incorrecto en la matriz.

Las matrices de matrices son útiles para las aplicaciones en las que cada submatriz tiene una longitud diferente. Si todas las submatrices tienen la misma longitud, es más conveniente utilizar una matriz multidimensional. Para obtener más información, vea Matrices multidimensionales.

Matrices de matrices con tipo

En el ejemplo siguiente, una matriz de matrices de cadenas almacena nombres de animales de compañía. Dado que el número de elementos de cada submatriz es independiente del de las otras (el número de nombres de gatos puede ser distinto del número de nombres de perros), en lugar de utilizar una matriz multidimensional se utiliza una matriz de matrices.

// Create two arrays, one for cats and one for dogs.
// The first element of each array identifies the species of pet.
var cats : String[] = ["Cat","Beansprout", "Pumpkin", "Max"];
var dogs : String[] = ["Dog","Oly","Sib"];

// Create a typed array of String arrays, and initialze it.
var pets : String[][] = [cats, dogs];

// Loop over all the types of pets.
for(var i=0; i<pets.length; i++)
   // Loop over the pet names, but skip the first element of the list.
   // The first element identifies the species.
   for(var j=1; j<pets[i].length; j++)
      print(pets[i][0]+": "+pets[i][j]);

El resultado de este programa es:

Cat: Beansprout
Cat: Pumpkin
Cat: Max
Dog: Oly
Dog: Sib

También puede utilizar una matriz con tipo de tipo Object para almacenar matrices.

Matriz de matrices JScript

Utilizando una matriz JScript como matriz base se proporciona flexibilidad en los tipos de las submatrices almacenadas. Por ejemplo, en la línea de código siguiente se crea una matriz JScript que almacena matrices JScript que contienen cadenas y enteros.

// Declare and initialize the JScript array of arrays.
var timecard : Array;
timecard = [ ["Monday", 8],
             ["Tuesday", 8],
             ["Wednesday", 7],
             ["Thursday", 9],
             ["Friday", 8] ];
// Display the contents of timecard.
for(var i=0; i<timecard.length; i++)
   print("Worked " + timecard[i][1] + " hours on " + timecard[i][0] + ".");

El ejemplo anterior muestra:

Worked 8 hours on Monday.
Worked 8 hours on Tuesday.
Worked 7 hours on Wednesday.
Worked 9 hours on Thursday.
Worked 8 hours on Friday.

Vea también

Conceptos

Datos de matriz

Matrices multidimensionales (Visual Studio - JScript)

Otros recursos

Matrices de JScript