JavaScript - Objetos predefinidos: Array

El objeto Array encapsula los arrays creados en JavaScript y aporta funcionalidad común a todos esos arrays.

Objeto Array

Un array en JS se puede construir como un objeto:

mi_array = new Array();

Se pueden asignar a un array valores de cualquier tipo (incluyendo objetos)

mi_array[0] = 1;
mi_array[1] = "Cadena de texto";
mi_array[2] = Date();

Tanto el tamaño (longitud) del array como el tamaño de las celdas individuales se asigna de forma dinámica (automática) a medida que se asignan elementos.

Hay que tener en cuenta que el tamaño de los arrays en JavaScript puede crecer pero no decrecer, es decir, para el siguiente trozo de código:

var array_grande = Array();

array_grande[1000]=1;

Se construye un array de 1001 posiciones (aunque realmente sólo se utiliza una de ellas).

Se pueden utilizar cadenas de texto como identificadores de índices (arrays asociativos) en la versión de Navigator 3 y posteriores.

El constructor permite crear arrays de una determinada longitud inicial:

otro_array = new Array (10);

E inicializar valores a partir de la declaración:

este_array = new Array ("uno", "dos", "tres",    "cuatro");

Para ver la cantidad de elementos de un array se utiliza la propiedad length.


este_array.length // num elementos

Algunos métodos útiles para trabajar con arrays:

  • concat() : Une dos arrays y devuelve como resultado un array con la unión
  • join() : Devuelve una cadena de texto que contiene la unión de los elementos del array
  • pop() : Borra y devuelve el último elemento de un array
  • push() : Añade un elemento a un array y devuelve ese elemento
  • reverse() : Refleja el contenido de un array (el primer elemento pasa a ser el último)
  • shift() : Borra y devuelve el primer elmento de un array
  • unshift() : Añade uno o más elementos al comienzo de un array y devuelve el número actualizado de elementos
  • toString() : Devuelve una cadena de texto que representa al array
  • splice() : Añade y/o elimina elementos de un array

slice()

Extrae una sección de un array y la devuelve como un nuevo array:


datos = new Array ()
datos[1]="uno";
datos[2]="dos";
datos[3]="tres";

dosprimeros = datos.slice(1,2);
// dosprimeros[0]="uno"
// dosprimeros[1]="dos"

sort()

Ordena los elementos de un array.

Por defecto utiliza ordenación lexicográfica (alfabética).

Se puede definir una función externa que implemente el criterio de ordenación:

function compareNumbers(a, b) {
  return a - b
}

numberArray.sort(compareNumbers)

Siguiente: Objetos predefinidos: Math