Arrays en JavaScript
Cómo crear y manejar arrays en JavaScript.
Definir un array
La forma de definir un array en JavaScript es la siguiente:
// En línea var estaciones = ["Primavera", "Verano", "Otoño"]; // Con saltos var estaciones = [ "Primavera", "Verano", "Otoño" ];
Se puede definir en una o en varias líneas, ya que no tiene en cuenta los saltos de línea ni los espacios. Sí es importante destacar que después del último elemento no se debe colocar una coma, porque crearía problemas de inconsistencia a algunos navegadores.
Otra forma de declarar un array es:
var estaciones = new Array("Primavera", "Verano", "Otoño");
Funciona igual que la anterior, pero se recomienda la primera por simplicidad y rapidez en su ejecución.
Acceder a un elemento del array
Para acceder a un elemento concreto del array, utilizaremos su índice numérico.
document.write(estaciones[0]); // Pinta Primavera
Al igual que en otros lenguajes de programación, el primer elemento de un array de JavaScript es el [0].
Cambiar un elemento del array
Lo haremos utilizando su índice numérico:
estaciones[0] = "Invierno";
Mostrar todo el array
document.write(estaciones); // Pinta Invierno,Verano,Otoño
Los arrays de JavaScript son objetos
Los arrays son un tipo especial de objetos en este lenguaje de programación.
Array:
var dias = ["Lunes", "Martes"];
Objeto:
var persona = { nombre: "Manuel", apellido: "González" }
Los arrays pueden tener propiedades y métodos
var x = estaciones.length; // Retorna el número de elementos document.write(x); // Pinta 3 var y = estaciones.sort(); // sort() ordena el array document.write(y); // Otoño,Primavera,Verano
Bucle y mostrar cada elemento del array
for(i=0;i < estaciones.length;i++){ document.write(estaciones[i]); }
Añadir elementos al array
Con el método push():
estaciones.push("Invierno");
Con la propidad length:
estaciones[estaciones.length] = "Invierno";
En los dos casos, se crea el nuevo elemento e una posición nueva al final de array.
Arrays asociativos
En JavaScript no podemos crear arrays asociativos como en otros lenguajes, utilizando como índices un texto, pero sí un utilizando índices numéricos:
var buscador = []; buscador[0] = "Google"; buscador[1] = "Bing"; var x = buscador[0]; // Google var y = buscador.lenght; //2
Si intentáramos utiliza índices con nombres:
var coche = []; coche["color"] = "Azul"; coche["marca"] = "Audi"; var x = coche[0]; // undefined var y = coche.length; // 0
Validar una variable tipo array
Partiendo del siguiente array, lo validaremos de varias formas.
var estaciones = ["Primavera", "Verano", "Otoño"];
Con Array.isArray()
Array.isArray(estaciones); // devuelve true
Inconveniente: no está soportado por navegadores antiguos.
Con isArray()
Creamos una función propia:
function isArray(estaciones) { return x.constructor.toString().indexOf("Array") > -1; }
Con instanceof
estaciones instanceof Array; // devuelve true