• Jobs
  • About Us
  • Jobs
    • Home
    • Jobs
    • Courses and challenges
  • Businesses
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

199
Views
¿Hay una manera simple de fusionar dos objetos?

digamos que tengo:

 object1 = { atk: 3, def: 6, hp: 4, level: 17, }; object2 = { atk: 1, def: 4, hp: 2, level: 10, };

quiero multiplicar los dos objetos, así que termino con

 object3 = { atk: 3, // 1 * 3 def: 24, // 4 * 6 hp: 8, // 2 * 4 level: 170, // 17 * 10 };

lo intenté así

 let obj3 = {}; obj3.atk = object1.atk * object2.atk; obj3.def= object1.def * object2.def; //etc....

pero no estoy seguro de si hay alguna manera más simple ya que hay más claves/valores de los que he enumerado aquí.

over 3 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Una de las soluciones más simples (complejidad de código) probablemente sería usar un bucle for...in simple, iterando sobre las teclas del primer objeto.

 const object1 = { atk: 3, def: 6, hp: 4, level: 17 }; const object2 = { atk: 1, def: 4, hp: 2, level: 10 }; const obj3 = {}; for (const key in object1) { obj3[key] = object1[key] * object2[key]; } console.log(obj3);

Esto supone que object1 y object2 tienen las mismas claves.

over 3 years ago · Juan Pablo Isaza Report

0

Puede usar una combinación de Object.entries para desempaquetar un objeto de origen (por ejemplo, object1 ) y el mapa a través de él para multiplicar sus valores con el valor correspondiente obtenido al usar key como acceso en object2 .

Una vez hecho esto, se trata de usar Object.fromEntries para convertir las tuplas [key, value] nuevamente en un objeto:

 const object1 = { atk: 3, def: 6, hp: 4, level: 17, }; const object2 = { atk: 1, def: 4, hp: 2, level: 10, }; const object3 = Object.fromEntries(Object.entries(object1).map(([key, value]) => { value *= object2[key]; return [key, value]; })); console.log(object3);

over 3 years ago · Juan Pablo Isaza Report

0

Supongo que la forma más elegante de hacerlo es usando el método de matriz de reduce , combinado con la función Object.keys() , que devuelve una matriz que contiene las claves del objeto:

 const object1 = { atk: 3, def: 6, hp: 4, level: 17, }; const object2 = { atk: 1, def: 4, hp: 2, level: 10 }; const object3 = Object.keys(object1).reduce((result, key) => { result[key] = object1[key] * object2[key]; return result; }, {}); console.log(object3);

over 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Show me some job opportunities
There's an error!