Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

111
Views
¿Cómo comparar/coincidir identificaciones en dos matrices separadas y recuperar algunos datos en un objeto en javascript?

Tengo los siguientes valores:

 const r = [{ id: 2, car: 'toyota}, {id: 1, car:'honda'}] const s = [{ id: 2, name: 'Samuel'},{id: 1, name: 'James'}]

Quiero hacer coincidir las matrices en función de la identificación y agregar un nombre a cada identificación de objeto coincidente correspondiente.

 const res = [{id: , car: , name: }]

Tengo ciertos valores que necesito mapear juntos para convertirlos en un objeto de respuesta, por lo que debe ser una matriz de objetos con varias propiedades. Quiero mapear en función de una identificación y luego recorrer cada objeto en la matriz y agregar el objeto correspondiente. Amablemente ayuda, muy apreciada!

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Puede lograr fácilmente el resultado usando Map y map

 const r = [ { id: 2, car: "toyota" }, { id: 1, car: "honda" }, ]; const s = [ { id: 2, name: "Samuel" }, { id: 1, name: "James" }, ]; const map = new Map(r.map((o) => [o.id, o])); const result = s.map((o) => ({ ...o, ...(map.get(o.id) ?? []) })); console.log(result);
 /* This is not a part of answer. It is just to give the output full height. So IGNORE IT */ .as-console-wrapper { max-height: 100% !important; top: 0; }

about 4 years ago · Juan Pablo Isaza Report

0

En este problema, necesitamos filtrar los datos y también debemos mapear los datos para que este operador de filtro directo no funcione, así que resolví su problema con un bucle forEach.

 const arr1 = [{ id: 2, car: 'toyota'}, {id: 1, car:'honda'}] const arr2 = [{ id: 3, name: 'Samuel'},{id: 1, name: 'James'}] const result = []; arr1.forEach(arr1Obj=>{ const matchedObject = arr2.find(arr2Obj=>arr2Obj.id==arr1Obj.id); if(matchedObject){ result.push({...arr1Obj,...matchedObject}); } }) console.log(result);

about 4 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 Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!