javascript

Combinar objetos con JavaScript

En este post de programación con JS vamos a ver cómo mezclar dos objetos, de modo que combinemos sus propiedades y tengamos un nuevo objeto.

Veremos dos maneras de mezclar las propiedades de un objeto con JavaScript: con el operador spread y con una función manual.

Combinando objetos en JavaScript

Lo que tenemos que hacer es declarar un objeto vacío, ahí almacenaremos las propiedades de los objetos que vamos a combinar. Luego recorremos cada clave de los objetos y la vamos guardando (junto con su valor) en el nuevo objeto, así de simple.

Por cierto, en caso de que haya claves repetidas se van a mantener las propiedades del segundo objeto.

Con función manual

Si quieres hacerlo manualmente con una función puedes hacerlo como se ve a continuación:

const combinarObjetos = (objeto1, objeto2) => {
    const resultado = {};
    for (const clave of Object.keys(objeto1)) {
        resultado[clave] = objeto1[clave];
    }
    for (const clave of Object.keys(objeto2)) {
        resultado[clave] = objeto2[clave];
    }
    return resultado;
}

Con esto puedes mezclar cualquier cantidad de objetos en JavaScript, ya que puedes combinar el resultado con otro objeto.

Usando operador de propagación

Una manera más elegante es usar el spread operator u operador de propagación que se representa como ....

Éste operador es relativamente nuevo en JS y permite varias cosas como enviar los elementos de un arreglo como argumentos a una función o combinar objetos.

El operador “desempaca” los elementos. Entonces podemos combinar dos objetos así:

const combinadoConSpread = { ...objeto1, ...objeto2 };

Es más simple y elegante. Además, podemos combinar cualquier cantidad de objetos. Recuerda que la misma regla aplica: si existen claves repetidas, se mantendrán las del último objeto.

Poniendo todo junto

Ya te enseñé a colocar las propiedades de dos objetos en uno solo. Ahora te mostraré el código completo. Al final puedes usar el método que tú prefieras:

Combinar objetos con JavaScript – Mezclar propiedades

El código (que se puede ejecutar en Node y en el navegador) queda así:

// https://parzibyte.me/blog
const combinarObjetos = (objeto1, objeto2) => {
    const resultado = {};
    for (const clave of Object.keys(objeto1)) {
        resultado[clave] = objeto1[clave];
    }
    for (const clave of Object.keys(objeto2)) {
        resultado[clave] = objeto2[clave];
    }
    return resultado;
}
const objeto1 = {
    nombre: "Luis",
    mascotas: ["Maggie", "Panqué", "Grim"]
};

const objeto2 = {
    web: "https://parzibyte.me/blog",
    nombre: "Parzibyte",
};

const combinado = combinarObjetos(objeto1, objeto2);
const combinadoConSpread = { ...objeto1, ...objeto2 };
console.log("Combinado con función:");
console.log(combinado);
console.log("Combinado con spread operator:");
console.log(combinadoConSpread);

Por aquí te dejo más tutoriales de JavaScript.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

4 días hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.