Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
3. Estructuras de datos
Mdulo 3. Estructuras de datos
Hasta ahora hemos visto cmo trabajar con 3 tipos de datos: las cadenas, los nmeros y los booleanos. Con estos
datos podemos hacer muchas cosas, pero sera interesante poder trabajar con colecciones de datos.
Ejemplos de situaciones que requieren el uso de colecciones de datos: cuando trabajamos con los meses del ao,
los contacto de la agenda del mvil, o, en nuestro ejemplo de la baraja, el listado de palos de la baraja.
Arrays
Los arrays o colecciones son estructuras de datos que agrupan Para acceder a una posicin del array utilizamos corchetes [ y ] y
elementos. Para declarar un array en JavaScript utilizamos los dentro la posicin a la que queremos acceder. Recordemos que las
corchetes [ y ], e indicaremos en el interior los elementos del array posiciones empiezan a contarse desde el 0. Ejemplo: palos[0] nos
Ejemplo 1: arrays de nmeros y de cadenas Para actualizar una posicin del array, tambin podemos utilizar el
var numeros = [1, 2, 3]; operador [] para acceder a una posicin y usar la asignacin = para
var palos = ["c", "d", "p", "t"]; darle un nuevo valor. Ejemplo: palos[0] = "nuevo palo";
2
Mdulo 3. Estructuras de datos
Ejemplo 2: aadir elementos a un array Aqu vemos cmo puede utilizarse la propiedad de longitud de un array
var palos = []; para recorrerlo, usando un ndice que se incrementa en uno en cada
palos[0] = "c"; iteracin. Este bucle nos permite sumar la puntuacin total de nuestra
propiedad length (longitud en ingls) del mismo, a la que accedemos var cartas = ["5d", "3t", "2c", "12c"];
con el operador punto. Ejemplo: palos.length nos devuelve el valor var encontrado = false;
var total = 0; }
total = total + cartas[i]; Usamos una variable booleana encontrado para almacenar el resultado
} de buscar una carta en un array de cartas. De esta forma, recorremos
3
Mdulo 3. Estructuras de datos
Ejemplo 5: insercin de valores en un array En este caso, es una buena prctica si vamos a modificar un array,
var cartas = ["5d", "3t", "2c", "12c"]; crear una copia del mismo. Es decir, no vamos a modificar el array
var resultado = []; cartas sino que el resultado de la insercin lo vamos a crear en el
resultado[resultado.length] = cartas[i]; Al comienzo el array resultado est vaco. Vamos recorriendo el array
if(cartas[i] === "3t"){ original y almacenando cada carta en la ltima posicin, hasta que
trboles.
4
Mdulo 3. Estructuras de datos
Ejemplo 6: filtrado de un array En este ltimo ejemplo de arrays, iteramos una coleccin de cartas
var cartas = ["5d", "3t", "2c", "12c"]; para detectar las que son de un palo de color rojo. Al igual que en
var resultado = []; el ejemplo anterior, vamos a crear un nuevo array resultado donde
for(var i=0; i<cartas.length; i=i+1){ almacenaremos las cartas de color rojo que encontremos, es decir,
if(cartas[i][1] === "d" || cartas[i][1] === "c"){ las que sean de corazones o diamantes. Este ejemplo no termina
resultado[resultado.length] = cartas[i]; de funcionar bien porque en el caso del rey de corazones, el palo
5
Mdulo 3. Estructuras de datos
Diccionarios
Los diccionarios son estructuras que nos permiten almacenar datos Ejemplo 2: leer informacin de un diccionario
estructurados. Tambin se les llama hash en ingls. En los diccionarios var carta = {palo: "c", valor: 1};
Ejemplo 1: crear un diccionario diccionario. En primer lugar, usando la misma notacin que en los
var carta = {palo: "c", valor: 1}; arrays con [ ] y poniendo entre comillas el nombre de la clave cuyo
Usamos la notacin de llaves { } para declarar un diccionario, que punto, que separa el nombre del diccionario del de la clave cuyo valor
consta de pares clave: valor separados por comas ,. Para separar la queremos obtener. La notacin ms habitual es la notacin con punto,
clave de su valor usamos :. En JavaScript los diccionarios se llaman ya que de esta forma distinguimos si trabajamos con un array o un
6
Mdulo 3. Estructuras de datos
Ejemplo 3: actualizar informacin de un diccionario de as y rey. Luego accedemos al palo de la primera carta del array, y
carta["palo"] = "d"
En este caso, usamos la misma notacin anterior para modificar el "t", "p", "d"]}
Ejemplo 4: array de diccionarios En este caso, hemos definido un diccionario de palos con el listado
var as = {palo: "c", valor: 1}; de palos de distintas barajas, la espaola y la de poker. As, podemos
var rey = {palo: "t", valor: 12}; acceder a cada listado, que es un array, y luego a cada posicin dentro
var cartas = [as, rey]; del array. Por ejemplo, accedemos a la ltima posicin del listado de
cartas[0].palo = "t";