miércoles, 17 de octubre de 2012

18 - Propiedades y Métodos de los Arrays en Javascript



Interesante: Vídeo Tutorial de Javascript, aprende a programar Javascript desde cero.

Como objetos que son, los arrays poseen sus propiedades y métodos predefinidos, que son ampliables por el usuario. Es necesario hacer notar que estos métodos y propiedades son los definidos para el JavaScript 3.0 de Microsoft. Netscape añade mas métodos en su versión, pero los aquí definidos son comunes a ambos navegadores.


Propiedades

length
Como su nombre indica esta propiedad nos devuelve la longitud del array, es decir, el número de elementos que puede almacenar. Su uso es muy simple:

var lista = new Array(50);
tamagno = lista.length; /*tamagno almacenaría el valor 50 */


prototype
Esta es una propiedad muy potente en el sentido que nos permite agregar al objeto Array las propiedades y métodos que queramos.

Array.protoype.descriptor = null;
dias = new Array ('lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes');
dias.descriptor = "Dias laborables de la semana";

En este ejemplo hemos creado una nueva propiedad para el objeto array, la propiedad descriptor que podría utilizarse para darle un título a la matriz.

Métodos

concat(objArray)
Une el objeto Array con el array que se le pasa como argumento y devuelve el resultado en un nuevo array, sin modificar los arrays que se concatenan.

join()
Convierte los elementos de un array en una cadena separados por el carácter que se le indique. El separador por defecto es la coma.

a= new Array("Hola","Buenos","días");
document.write(a.join() +" <br>");
document.write(a.join(", ") +" <br>");
document.write(a.join(" + ") +" <br>") ;

La salida de este programa sería
Hola,Buenos,Días
Hola, Buenos, Días
Hola+Buenos+Días


reverse()
Invierte el orden de los elementos de un Array en el propio array, sin crear uno nuevo.

slice(ini, fin)
Extrae parte de un Array devolviéndolo en un nuevo objeto Array.

lista = new Array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h');
sublista = lista.slice(2,6);
alert(sublista.join());

En el ejemplo sublista contendrá los elementos desde el índice 2 al 5 ambos inclusive, o sea, 'c', 'd', 'e', 'f'. Si se omite el segundo argumento se extrae hasta el último elemento del array y si es negativo se entiende como contando desde el final.

sort(rutord)
Ordena alfabéticamente los elementos de un objeto Array. Opcionalmente podemos pasar como argumento una función para determinar el orden, esta función posee dos argumentos y devolverá un valor negativo si el primer argumento es menor que el segundo, cero si son iguales y un valor positivo si el primer argumento es mayor que el segundo. En castellano esto es necesario si queremos que la ñ y vocales acentuadas figuren en su lugar.