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

173
Views
Lodash fusiona dos matrices con condiciones

Tengo 2 matrices como a continuación:

 const array1 = [{name: "1"}, {name: "2"}, {name: "3"}, {name: "4"}, {name: "4"}]; const array2 = [{name: "1"}, {name: "5"}, {name: "3"}, {name: "4"}, {name: "4"}, {name: "4"}, {name: "1"}, {name: "1"}, {name: "2"}];

La salida esperada es:

 [{name: "1"}, {name: "2"}, {name: "3"}, {name: "4"}, {name: "4"}, {name: "5"}, {name: "4"}, {name: "1"}, {name: "1"}];

La matriz de resultados debe contener todos los elementos de la matriz 1 y los elementos de la matriz 2 que aún no están presentes en la matriz 1.

Intenté usar _.unionBy

 _.unionBy(array1, array2, 'name')

pero solo da como resultado una matriz con uniq 'name'

¿Cómo podemos lograr eso usando lodash?

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

0

Puedes usar unionBy (lodash)

 let result = _.unionBy(array1 , array2, 'name');

unionBy - https://docs-lodash.com/v4/union-by/

about 4 years ago · Juan Pablo Isaza Report

0

Suponiendo que no desea { name: "2" } como último elemento del conjunto de resultados, puede contar los elementos agrupados y agregar los elementos deseados.

 const array1 = [{ name: "1" }, { name: "2" }, { name: "3" }, { name: "4" }, { name: "4" }], array2 = [{ name: "1" }, { name: "5" }, { name: "3" }, { name: "4" }, { name: "4"}, { name: "4" }, { name: "1" }, { name: "1" }, { name: "2" }], counts = {}, result = array1.map(o => (counts[o.name] = (counts[o.name] || 0) + 1, o)); result.push(...array2.filter(o => !counts[o.name] || !counts[o.name]--)); console.log(result);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

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!