Inicio » Blog » Javascript

31 julio, 2019

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

Diccionario de clave-valor en Javascript

Suscríbete a nuestro canal en Youtube

Suscríbirse

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.


Leido 21707 veces

Compartir link del tutorial con tus amigos


Aprende más sobre Javascript

Cursos de programación

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023