Compartir a través de


Array (Objeto de JScript)

Un objeto Array es una variable que agrupa datos relacionados. Un número único, denominado índice o subíndice, hace referencia a cada uno de los datos de la matriz. Para tener acceso a los datos guardados en la matriz, se combinan el identificador de la matriz y el índice con el operador índice "[]", por ejemplo, theMonths[0].

Crear una matriz

Para crear una nueva matriz, use el operador new y el constructor Array. En este ejemplo, el constructor de matrices se usa para construir una matriz de longitud 12. A continuación, los datos se registran en la matriz.

var theMonths = new Array(12);
theMonths[0] = "Jan";
theMonths[1] = "Feb";
theMonths[2] = "Mar";
theMonths[3] = "Apr";
theMonths[4] = "May";
theMonths[5] = "Jun";
theMonths[6] = "Jul";
theMonths[7] = "Aug";
theMonths[8] = "Sep";
theMonths[9] = "Oct";
theMonths[10] = "Nov";
theMonths[11] = "Dec";

Cuando se crea una matriz mediante la palabra clave Array, JScript incluye una propiedad length que registra el número de entradas. Si no especifica ningún número, la longitud se establecerá en cero y la matriz no tendrá entradas. Si especifica un número, la longitud se establecerá en dicho número. Si especifica varios parámetros, se utilizarán como entradas de la matriz. Además, el número de parámetros se asigna a la propiedad length (como en el siguiente ejemplo, que equivale al anterior):

var theMonths = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", 
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

Los literales de matriz ofrecen otra técnica para introducir datos en las matrices. Para obtener más información, vea Datos de matriz.

El objeto Array guarda matrices dispersas. Es decir, si una matriz tiene tres elementos, numerados como 0, 1 y 2, puede haber un elemento 50 aunque no existan los elementos que van del 3 al 49. JScript cambia automáticamente el valor de la propiedad length cuando se agregan elementos a un objeto Array. Los índices de matriz de JScript siempre empiezan con 0, no con 1, de modo que la propiedad length siempre es una unidad mayor que el índice de mayor tamaño de la matriz.

Usar las propiedades expando de las matrices

Los objetos Array, al igual que los demás objetos basados en el objeto Object de JScript, admiten las propiedades expando. Las propiedades expando son unas propiedades nuevas que se agregan y se eliminan dinámicamente de una matriz, cómo los índices de matriz. A diferencia de los índices de matriz, que deben ser números enteros, las propiedades expando son cadenas. Además, al agregar o eliminar propiedades expando no se modifica la propiedad length.

Por ejemplo:

// Initialize an array with three elements.
var myArray = new Array("Hello", 42, new Date(2000,1,1));
print(myArray.length); // Prints 3.
// Add some expando properties. They will not change the length.
myArray.expando = "JScript";
myArray["another Expando"] = "Windows";
print(myArray.length); // Still prints 3.

Matrices con tipo

Otro método más rápido para crear la matriz theMonths anterior consiste en crear una matriz con tipo (nativa); en este caso, una matriz de cadenas:

var theMonths : String[] = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];

El acceso a los elementos de matrices con tipo es más rápido que a los elementos de los objetos Array de JScript. Las matrices con tipo son compatibles con las matrices de otros lenguajes de .NET Framework y ayudan a proporcionar seguridad de tipos.

Los objetos Array de JScript son muy flexibles y muy útiles para usar con listas, colas, pilas, etc., pero las matrices nativas son mucho mejores para guardar elementos de tamaño fijo del mismo tipo. En general, a menos que se necesiten las características especiales del objeto Array (cambio de tamaño dinámico, etc.), se recomienda utilizar matrices con tipo.

En las matrices con tipo se puede llamar a todos los métodos Array no destructivos (métodos que no modifican la longitud) de JScript.

Vea también

Referencia

Array (Objeto)

Otros recursos

Objetos intrínsecos