Arrays en javascript ( Parte I)

0 - , , - 10/01/2008 00:00:00

En este tutorial se ofrece una pequeña introducción a las arrays o matrices en javascript.

Para crear una instancia del objeto Array lo deberemos hacer de la siguiente forma:

var Vector = new Array();

Si se conoce de antemano el número de elementos que necesita en el array, se puede pasar el tamaño como un parámetro:

var Vector = new Array(20);

Para cualquiera de estos dos métodos se debe rellenar la array usando un sistema de corchetes:

var Vector = new Array();
Vector[0] = "rojo";
Vector[1] = "verde";
Vector[2] = "azul";

Aquí hemos creado una array con tres elementos -la numeración de las arrays empieza por el cero- "rojo", "verde" y "azul". En este caso, al no haber preestablecido un tamaño inicial, la array crece dinámicamente cada vez que se le añade un nuevo elemento.

Si conocemos los valores que debe contener el array, podemos especificarlos como argumentos. Por ejemplo, la siguiente línea crea un array con tres elementos de tipo cadena:

var Colores = new Array("rojo","verde","azul");

Como el primer elemento está en la posición 0 de la matriz, el segundo en la posición 1 y el tercero en la posición 2, para acceder a un elemento en concreto deberemos hacerlo nombrando la instancia y entre corchetes la posición en que se encuentra el elemento. Por ejemplo:

alert(Colores[1]); //muestra "verde"

También podemos averiguar la longitud de una array usando la propiedad length. Ésta nos devuelve el número de elementos que conforman la matriz:

alert(Colores.length); //muestra "3"

Como se ha mencionado anteriormente, el tamaño de una matriz puede crecer, según sea necesario. Así que, si queremos añadir otro elemento a la array definida previamente, podemos colocarlo en la siguiente posición:

var Colores = new Array("rojo","verde","azul");
alert(Colores.length); //muestra "3"
Colores[3] = "violeta";
alert(Colores.length); //muestra "4"

En el anterior código la adición de un elemento convierte la longitud de 3 a 4. Pero que ocurre si el elemento es dispuesto en la posición 25. javascript rellena todas las posiciones intermedias (de la 3 a la 24) con el valor null. Por lo tanto el tamaño de la matriz pasaría de 3 a 26.

var Colores = new Array("rojo","verde","azul");
alert(Colores.length); //muestra "3"
Colores[25] = "violeta";
alert(Colores.length); //muestra "26"

Las matrices pueden contener un máximo de 4294967295. Más que suficiente para cualquier programador. Máxime si tenemos en cuenta que estamos hablando de un lenguaje como javascript.

También podemos crear una instancia del objeto Array sin mencionarlo explicitamente pero sí introduciendo valores en corchetes, lo que implica la creación de una matriz.

var Colores = new Array("rojo","verde","azul");

El método toString() devuelve una cadena con todos los elementos de la matriz separados por comas.

var Colores = new Array("rojo","verde","azul");
alert(Colores.toString()); //devuelve "rojo,verde,azul"

El método join() ayuda a los desarrolladores a concatenar los distintos elementos de una matriz. El método join() acepta un argumento, que es la cadena a utilizar entre los elementos. Por ejemplo.

var Colores = new Array("rojo","verde","azul");
alert(Colores.join(" oscuro, "));
//devuelve "rojo oscuro, verde oscuro, azul oscuro"

Hasta aquí hemos visto como convertir una array en una cadena. Pero también se puede realizar el proceso a la inversa: convertir una cadena en un array. Esto se realiza mediente el método llamado split(). El método split() acepta un único parámetro. Este parámetro es la cadena que debe ser considerado como separador entre los elementos. Por ejemplo, si tenemos una cadena separada por comas, la podemos convertir en un array de la siguiente forma:

join() acepta un argumento, que es la cadena a utilizar entre los elementos. Por ejemplo.

var strFrutas = "pera,manzana,platano";
var arrFrutas = strFrutas.split(",");

Si especificamos una cadena vacía como separador, el método split() devuelve una array en el que cada elemento es igual a un caracter de la cadena. Por ejemplo.

var strFruta = "manzana";
var arrFruta = strFruta.split("");
alert (arrFruta.toString()); //devuelve "m,a,n,z,a,n,a"

Deja tu comentario

  • El comentario debe estar relacionado con el contenido de la entrada.
  • Comentarios ofensivos, con spam o con lenguaje inapropiado serán eliminados.

captcha