Tanzaina

Tanzania – Arrays

Así de sueño tienes tú

Así de sueño tienes tú

Llegas a Dodoma con más sueño que una cesta de gatitos, y te preguntas cuándo acabarás la maldita misión de África. La respuesta está más cerca de lo que creías: hoy es tu última visita… tu última visita solo. La siguiente, y última misión de África la harás acompañado.

Después de una siesta reparadora te dispones a trabajar con los dos últimos vídeos: Arrays. Ahora sí, tendrás la sintaxis de Javascript totalmente interiorizada. El resto tendrás que combinarlo con otros lenguajes de programación 😉


El último ejercicio se las trae, pero si lo haces bien podrás utilizarlo muchísimo en el resto de tus programas. ¡Hazlo con cuidado!

u3e3_arrays.html Recompensa
El siguiente programa necesitará dos archivos en javascript. El primero contendrá el prototipo Sandkill creado en el ejercicio anterior. El segundo permitirá trabajar con arrays de cualquier tipo de dato.
Diseña un programa que permita realizas las siguientes operaciones:

  • Insertar un sandkill en una lista al principio.
  • Insertar un sandkill en una lista al final.
  • Borrar el primer sandkill de la lista.
  • Borrar el último sandkill de la lista.
  • Mostrar la lista de sandkills.
  • Mostrar la lista de sandkills ordenada.
  • Buscar un sandkill a partir de su nombre.
  • Buscar un sandkill a partir de su posición.

Hazlo de tal manera que puedas reutilizar el archivo de gestión de arrays y te funcione con cualquier tipo de objeto que crees.

dinero

¿Cuál será tu última misión? De repente tocas tu bolsillo y recuerdas que tienes en él una tarjeta…

¡Por cierto! Has aprendido a ordenar arrays de valores primitivos (cadenas, números, booleanos), pero si queremos ordenar objetos por algún campo debemos hacerlo de la siguiente manera (suponiendo que queremos ordenar por el campo1 (que lo extraemos de getCampo1):

function ordenar(){
   lista.sort(ordena_objetos);
}

function ordena_objetos(a,b){
   if (a.getCampo1() < b.getCampo1()) return -1;
   else if (a.getCampo1() > b.getCampo1()) return 1;
   else return 0;
}

También podría declararse como función anónima de la siguiente manera:

function ordenar(function (a,b){
   if (a.getCampo1() < b.getCampo1()) return -1;
   else if (a.getCampo1() > b.getCampo1()) return 1;
   else return 0;
});

Guardar

Guardar

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *