forked from marquez.juan/clase-10-ejercicios-de-repaso
38 lines
1.2 KiB
JavaScript
38 lines
1.2 KiB
JavaScript
const paises = [
|
|
"Argentina", "Brasil", "Chile", "Colombia", "Ecuador",
|
|
"México", "Paraguay", "Perú", "Uruguay", "Venezuela"
|
|
];
|
|
|
|
const campo = document.querySelector("#filtro");
|
|
|
|
function construirLista(items) {
|
|
const lista = document.querySelector("#lista");
|
|
// Limpiamos la lista antes de reconstruirla.
|
|
lista.innerHTML = "";
|
|
|
|
for (const pais of items) {
|
|
const item = document.createElement("li");
|
|
item.textContent = pais;
|
|
lista.appendChild(item);
|
|
}
|
|
}
|
|
|
|
campo.addEventListener("input", () => {
|
|
const texto = campo.value.toLowerCase();
|
|
|
|
// Si el campo está vacío, mostramos todos los países.
|
|
// Si no, filtramos los que incluyan el texto ingresado.
|
|
// toLowerCase() en ambos lados hace la comparación sin distinguir mayúsculas.
|
|
if (texto === "") {
|
|
construirLista(paises);
|
|
} else {
|
|
const filtrados = paises.filter(p => p.toLowerCase().includes(texto));
|
|
// Otra forma, con indexOf:
|
|
// const filtrados = paises.filter(p => p.toLowerCase().indexOf(texto) > -1);
|
|
construirLista(filtrados);
|
|
}
|
|
});
|
|
|
|
// Mostramos todos los países al cargar la página.
|
|
construirLista(paises);
|