Ejercicio HashMap

En la clase cliente que hemos definido anteriormente vamos a añadir una propiedad ‘compras’ que es un hashmap de que nos indica el producto que ha comprado y la cantidad.

Vamos a añadir un método addCompra(String producto, int cantidad) que hará lo siguiente:

Si el producto no existe lo añade a compras
Si el producto ya está en compras suma la cantidad

Vamos a añadir un método eliminarProducto(String producto) que nos elimine el producto que le indiquemos

Vamos a añadir un método verProductos() que nos devuelva un ArrayList de String con los nombres de los productos.

Y un método totalUnidades() que nos devuelva el total de unidades que se han comprado.

Pequeña práctica

Crear una base de datos ‘Zoologico’

Y dentro de esa base de datos una tabla ‘Especies’

De la siguiente manera:

Especies

id_especie   auto increment

nombre_comun  varchar(50)

nombre_cientifico  varchar(50)

descripción  varchar(50)

JS switch

let ciudad="Tarragona";

//Analizamos el valor de la variable ciudad
switch(ciudad) {
	case "Barcelona": //Si ciudad = Barcelona entra por aquí
	  console.log("Envío gratis");
	  break; //Y aquí se interrumpe
	case "Tarragona": //Si ciudad= Tarragona o LLeida entra por aquí
	case "LLeida":
	  console.log("Envío 5€");
	  break; //Se interrumpe
	default: //Si no se cumple ninguna de las condiciones anteriores
	  console.log("Envío 10€");
  } 

https://www.w3schools.com/js/js_switch.asp

Ejercicio chat

En el chat que ya tenemos vamos a incluir algunas mejoras:

– Evitar que se puedan mandar mensajes más largos de 140 caracteres
– Filtrar palabras malsonantes
– Posibilidad de enviar emoticonos
– Posibilidad de tener cuatro salas diferentes de chat y elegir a cual te quieres conectar.

Ejercicio react redux thunk

Utilizando la api de generar personas:

https://randomuser.me/documentation

Vamos a crear una aplicación de react con redux que utilice thunk que se irá componiendo de las siguientes fases:

Fase 1: Nos buscará 1 usuario y nos mostrará los siguientes datos: Foto, nombre completo, mail y dirección

Fase 2: Añadir un botón que nos cargue otro usuario al azar.

Fase 3: Al lado del botón tener un input en el que podamos indicar la cantidad de usuarios que queremos retornar.

Fase 4: Añadir al lado del botón si queremos hombres, mujeres o todos.

Fase 5: Añadir al lado un combobox con todas las nacionalidades o escoger alguna de las que nos permite la api

¡Ánimo!

Podemos pasar parámetros a las acciones de thunk.

JS array find y findIndex

Enlaces:

https://www.w3schools.com/jsref/jsref_find.asp
https://www.w3schools.com/jsref/jsref_findindex.asp
https://appdividend.com/2018/12/17/javascript-array-find-example-array-prototype-find-tutorial/

   let num = [1, 2, 3, 4, 5, 6, 7, 8, 9];
 
  console.log(num.find(valor => valor > 5)); //Devuelve 6
    console.log(num.findIndex(valor => valor > 5)); //Devuelve 5
    let cad = "hola que tal";
    console.log(cad.split(" ").find(valor => valor.length <= 3)); //Devuelve que
    console.log(cad.split(" ").findIndex(valor => valor.length <= 3)); //Devuelve 1
    let libros = [{ titulo: "Quijote", paginas: 400 },
    { titulo: "El buscón", paginas: 300 },
    { titulo: "Orestiada", paginas: 200 }]

    console.log(libros.find(valor=>valor.paginas<250));// Devuelve {titulo: "Orestiada", paginas: 200}
    console.log(libros.findIndex(valor=>valor.paginas<250));// Devuelve 2

    //Ejercicio: crear una función que pasándole una cadena nos devuelva la primera palabra que tenga una longitud mayor de 8
    //Ejemplo: primeraLarga("hola que tal")->undefined primeraLarga("en un lugar de la mancha arquetípica y lustrosa")->arquetípica