Arrays en JavaScript
Un Array o tabla es simplemente un conjunto de datos del mismo tipo. Ya hemos visto anteriormente la forma de utilizar variables, por ejemplo NOMBRE. Esta variable nos serviría para guardar un solo dato (un solo nombre en este caso). Si utilizamos la misma variable para introducir otro nombre, el primero desaparecerá machacado por el segundo:
var Nombre
Nombre= “Juan”
Nombre=”Ana”
Después de ejecutar este código, la variable Nombre será igual a “Ana”, le valor “Juan” se ha perdido. Podríamos solucionarlo utilizando múltiples variables:
var Nombre1, Nombre2, …
Pero supongamos que necesitas almacenar decenas, centenas o incluso miles de nombres … ¡Tendríamos que definir miles de variables!
Si utilizamos un array o tabla, podremos introducir varios valores sin que se pierda ninguno:
Nombre= new Object (50)
De esta forma estamos definiendo una tabla de 50 elementos ‘Nombre’. Es como si hubiéramos definido 50 variables de una sola vez. Para utilizar estas variables podríamos hacerlo de la siguiente forma:
Nombre[0]=”Juan”
Nombre[1]=”Ana”
…
Nombre[49]=”Sara”
El número que aparece entre corchetes es el ‘índice’ de la tabla. Fíjate que el primer índice es el 0 y el último el 49, que hacen los 50.
En realidad nos habría dado igual definir la tabla sin indicar el número de elementos:
Nombre=new Object()
Ya que JavaScript se adapta automáticamente al número de elementos que vayamos introduciendo, sean 10, 50 o 100
Gracias a este índice podemos crear un bucle para introducir los 50 nombres:
for (i=0; 1<=49; i=i+1)
{
Nombre[i]=prompt(“Introduce el nombre ” + i)
}
Este bucle nos iría pidiendo los 50 valores para la tabla Nombre(), ya que i va tomando valores desde 0 hasta 49
(Si no sabes cómo se crean los bucles, quizás deberías consultar otros tutoriales en www.territoriopc.com )
Ten en cuenta que hemos creado una tabla con 50 valores, pero no necesariamente tenemos que rellenar los 50. Quizás nos interese introducir solo 10 y dejar los demás para otra ocasión
Existe una segunda opción para crear tablas muy parecida a la anterior: Array
Nombre= new Array()
¿Cuál es la diferencia entre new Array() y new Objetc()?. Array es más nuevo que Object, lo que significa que no funcionará en Navegadores antiguos (Netscape 2.0 o anterior o Internet Explorer 3.0 o anterior)
Por otro lado, Array, al ser más nuevo, tiene una serie de ventajas que no tiene Object. Una de ellas es ‘length’, que nos dice cuántos elementos tiene la tabla:
Nombre= new Array()
Nombre[0]=”Juan”
Nombre[1]=”Ana”
Nombre[2]=”Sandra”
alert(“Existen ” + Nombre.length + ” nombres”)
El código anterior va a crear una tabla nueva llamada Nombre(), a continuación se introducen tres elementos en la tabla. Por último, Nombre.length muestra el número de elementos que existen en la tabla (en este caso deben aparecer 3)
Length no funcionará si utilizas Object en lugar de Array, pero array no funcionará en navegadores antiguos. Tu decides si buscas compatibilidad o funcionalidad …
Acceder a los elementos de la tabla
Gracias al índice de una tabla podemos acceder a cualquier elemento. Veamos el siguiente ejemplo:
<SCRIPT LANGUAJE=”JavaScript”>
Nombre= new Array();
Telefono= new Array();
var i
for (i=0; i<=4; i=i+1)
{
Nombre[i]= prompt (“Introduce nombre ” + i)
Telefono[i]=prompt (“Introduce teléfono ” + i)
}
document.write(“Listado de Nombres y Teléfonos:”)
for (i=0; i<=4; i=i+1)
{
document.write(“<BR>” + Nombre[i] + “<BR>”)
document.write(Telefono[i] + “<BR>” + “<BR>”)
}
document.write(“<BR>” + “Fin del listado”)
</SCRIPT>
El anterior programa utiliza la variable i para pedirnos 5 nombres y 5 teléfonos. A continuación, se muestran los datos introducidos en la ventana del navegador utilizando otro bucle. Los elementos “<BR>” se utilizan para dejar espacio entre dato y dato.