Datos de matriz
Actualización: noviembre 2007
Un literal de matriz puede inicializar una matriz en JScript. Un literal de matriz, que representa un objeto Array de JScript, se especifica mediante una lista de elementos separados por comas y encerrados entre corchetes ([]). Los elementos de la lista pueden ser expresiones de JScript válidas o pueden estar vacíos (dos comas seguidas). El número de índice del primer elemento en la lista de la matriz es cero; y los siguientes elementos de la lista corresponden a los siguientes elementos de la matriz. Un objeto Array de JScript es una matriz dispersa; si un elemento de la lista de literales de matriz está vacío, no se inicializa el elemento correspondiente en el objeto Array de JScript.
Usar datos de matriz
En este ejemplo, se inicializa la variable arr como una matriz con tres elementos.
var arr = [1,2,3];
Se pueden utilizar los elementos vacíos de la lista de literales de Array para crear una matriz dispersa. Por ejemplo, el siguiente literal de Array representa una matriz que define sólo los elementos 0 y 4.
var arr = [1,,,,5];
Un literal de matriz puede incluir datos de cualquier tipo, incluidas otras matrices. En la siguiente matriz de matrices, la segunda submatriz contiene datos numéricos y de cadena.
var cats = [ ["Names", "Beansprout", "Pumpkin", "Max"], ["Ages", 6, 5, 4] ];
Como los objetos Array de JScript interactúan con matrices con tipo, los literales de matrices también pueden inicializar matrices con tipo, aunque con algunas restricciones. Los datos del literal de la matriz se deben poder convertir al tipo de datos de la matriz con tipo. Un literal de matriz no puede inicializar una matriz multidimensional con tipo, pero puede inicializar una matriz de matrices con tipo. Cuando un literal de matriz inicializa una matriz con tipo, se produce un proceso que consta de dos pasos. En primer lugar, se convierte el literal de matriz a una matriz con tipo, que se utiliza para inicializar la matriz con tipo. Como parte de la conversión, los elementos vacíos del literal de matriz se interpretan, en primer lugar, como undefined y después cada elemento del literal se convierte al tipo de datos correcto de la matriz con tipo. En el siguiente ejemplo, se utiliza el mismo literal de matriz para inicializar una matriz JScript, una matriz de enteros y una matriz de tipo double.
var arr = [1,,3];
var arrI : int[] = [1,,3];
var arrD : double[] = [1,,3];
print(arr); // Displays 1,,3.
print(arrI); // Displays 1,0,3.
print(arrD); // Displays 1,NaN,3.
El elemento vacío del literal de matriz se representa con un 0 en la matriz de enteros y como NaN en la matriz de tipo double, ya que undefined se asigna a esos valores.