es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo implementar la opción de búsqueda para un array dentro de un objeto Json utilizando javascript?

Quiero crear un pequeño diccionario con Json y Javascript. Aquí está mi archivo Json.

Entonces el usuario debería poder buscar la entrada (es decir, proud) o cualquiera de los sinónimos (noble o illustrious) y obtener los resultados.

Mi JS

const input = document.getElementById("input");
async function findWords(){
    const res = await fetch('./dict.json');
    const data = await res.json();

data.filter(function(item){
    if(input.value === item.entry){
        console.log(item.entry);
        console.log(item.synonyms);
    }
});
}
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    En primer lugar, deberás crear un archivo HTML con una barra de búsqueda para que el usuario ingrese su consulta de búsqueda, que en este caso será la palabra que está buscando.

    Una vez que hayas creado el archivo HTML, puedes agregar el código JavaScript para obtener los datos del diccionario desde el archivo JSON. En el código proporcionado anteriormente, puedes ver que se está utilizando el método fetch() para recuperar los datos JSON.

    Una vez que se hayan recuperado los datos JSON, se utiliza el método filter() para buscar en el diccionario la consulta del usuario. El método filter() toma una función como argumento, que se utiliza para filtrar los datos en función de alguna condición. En este caso, la condición es que la consulta del usuario coincida con la entrada o uno de los sinónimos en el diccionario.

    Si se encuentra una coincidencia, el código registra la entrada y los sinónimos en la consola. Sin embargo, puedes modificar este código para mostrar los resultados al usuario de una manera más amigable, como creando una lista de palabras coincidentes en las que el usuario pueda hacer clic para ver sus sinónimos.

Comments are closed.