Diccionario de clave-valor en Javascript

Como crear un diccionario de palabras en JavaScript

Diccionario de clave-valor en Javascript

En este ejemplo podrás entender los conceptos sobre la creación de un diccionario totalmente en JavaScript con lo cual tocaremos temas como arrays

En este ejemplo veremos cómo crear un diccionario de clave- valor en JavaScript.

Por lo cual haremos una prueba  de una búsqueda de usuario en concreto por su id, usaremos el algoritmo simplón de búsqueda que implementaremos ahora:

const users = [{
    id: '3212-2232-3423-3425',
    name: 'Jose Dongil'
}, {
   id: '4567-3456-3456-7667',
   name: 'Ana María Borlaz'
}];

function getUserById(users, userId) {
    for (let index = 0; index <= users.length; index++) {
        if (users[index].id === userId) {
            return users[index];
        }
    }
}

getUserById(users, '3212-2232-3423-3425'); 
// { id: '3212-2232-3423-3425', name: 'Jose Dongil' }

Pero al hacer este tipo de búsqueda seria ineficiente al trabarse de una gran cantidad de datos, por eso se puede mejorar el tipo de búsqueda con algunas funciones que tienen un algoritmo de búsqueda más eficiente que los clásicos bucles.

const users = [{
    id: '3212-2232-3423-3425',
    name: 'Jose Dongil'
}, {
   id: '4567-3456-3456-7667',
   name: 'Ana María Borlaz'
}];

function getUserById(users, userId) {
    return users.find(user => user.id === userId);
}

getUserById(users, '3212-2232-3423-3425'); 
// { id: '3212-2232-3423-3425', name: 'Jose Dongil' }

Ahora para mejorar aún más el código podemos transformar nuestro array en un objeto con el método reduce con el siguiente código:

function convertArrayToObject(array) {
    return array.reduce(function (obj, item) { 
        obj[item.id] = item; 
        return obj; 
    }, {});
}

const dUsers = convertArrayToObject(users);

Con esto conseguimos un objeto con ‘keys’ que serían los id de los usuarios. De esta forma, la búsqueda se convierte en algo automático y sencillo:

dUsers['3212-2232-3423-3425'];

Para guardan un nuevo usuario seria relativamente sencillo:

if  (dUsers) {
    dUsers[newUser.id] = newUser;
}

Con esto tendremos un sistema de busqueda usando algunas funciones, ademas otra forma pasando todo a objetos lo cual nos brindara una mejor eficiencia.

No hay descargable

Redactado por: , Leido 13504 veces

CURSOS DE PROGRAMACIÓN CON PROYECTOS

© Todos los derechos reservados Codea App FullStack | Cursos de programación avanzados | 2020 - 2021