ejercicio 3 terminado

This commit is contained in:
Romeo
2026-06-02 02:57:33 -03:00
parent b7f1e6af1e
commit d3c6930be5

View File

@@ -50,7 +50,7 @@ botonAgregar.addEventListener("click",(n)=>{
} else if (parseInt(inputCalificacion.value) < 0 || parseInt(inputCalificacion.value) > 10){ // si todos los campos estan llenos, pero la calificacion no esta entre 0 y 10 ... } else if (parseInt(inputCalificacion.value) < 0 || parseInt(inputCalificacion.value) > 10){ // si todos los campos estan llenos, pero la calificacion no esta entre 0 y 10 ...
alert("el puntaje tiene que ser del 1 al 10"); // mensaje de error alert("el puntaje tiene que ser del 1 al 10"); // mensaje de error
} else { } else {
libros.push( { titulo : inputTitulo.value , anio : inputAnio.value , puntaje : inputCalificacion.value , autor : inputAutor.value }); // si no hay errores pusheamos el nuevo objeto al array libros.push( { titulo : inputTitulo.value , anio : inputAnio.value , puntaje : inputCalificacion.value, autor : inputAutor.value }); // si no hay errores pusheamos el nuevo objeto al array
alert("Libro añadido con exito"); // mensaje de exito alert("Libro añadido con exito"); // mensaje de exito
inputTitulo.value = "" inputTitulo.value = ""
inputAutor.value = "" inputAutor.value = ""
@@ -64,9 +64,35 @@ botonAgregar.addEventListener("click",(n)=>{
// ejercicio 3 // ejercicio 3
//almacenamos el buscador en una variable //almacenamos el buscador en una variable
let buscador = document.querySelector("div > input"); let buscador = document.querySelector("div > input");
let listaTitulosMin = libros.map(libro => libro.titulo.toLowerCase()); // array con todos los titulos en minusculas
let listaAutoresMin = libros.map (libro => libro.autor.toLowerCase()); // array con los autores en minusculas
// creamos el listener en la barra de busqueda con la configuracion "keyup" (se activara con cada tecla levantada) // creamos el listener en la barra de busqueda con la configuracion "keyup" (se activara con cada tecla levantada)
buscador.addEventListener("keyup", (e) =>{ buscador.addEventListener("keyup", () => {
listaTitulos = libros.map(libro => libro.titulo); tableBody.textContent = "";
console.log (libros); let busqueda = buscador.value;
} ) let busquedaMin = busqueda.trim().toLowerCase(); //valor del input sin espacios y en minuscula
for (let l of libros){ // iteramos el array
tituloLibro = l.titulo.toLocaleLowerCase(); //titulo en minuscula
autorLibro = l.autor.toLocaleLowerCase(); //autor en minuscula
if(tituloLibro.includes(busquedaMin) || autorLibro.includes(busquedaMin)){ // si la busqueda coincide con titulo o autor continuamos
// por cada libro en libros creamos 1 row y 4 td
let nuevoRow = document.createElement("tr");
let tdTitulo = document.createElement("td");
let tdAutor = document.createElement("td");
let tdAnio = document.createElement("td");
let tdPuntaje = document.createElement("td");
//la llenamos con el contenido correspondiente
tdTitulo.textContent = l.titulo;
tdAutor.textContent = l.autor;
tdAnio.textContent = l.anio;
tdPuntaje.textContent = l.puntaje;
// y las anexamos a la tabla html de forma correspondiente
tableBody.appendChild(nuevoRow);
nuevoRow.appendChild(tdTitulo);
nuevoRow.appendChild(tdAutor);
nuevoRow.appendChild(tdAnio);
nuevoRow.appendChild(tdPuntaje);
}
}
})