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

101
Views
¿Cómo se compara cada entrada de objeto de un elemento de matriz con las entradas de otro objeto mientras se mantiene/recuerda cada resultado de comparación?

Tengo una matriz de 2 objetos [ { bg: 'a', o: 'c' }, {'hg': 'a2', 'oo': 'c3' } ] provenientes de un archivo json. Y quiero comparar cada objeto en la matriz con otro objeto que se parece a esto { fm: 'a', fh: 'b', o: 'a', fe: 'b', ft: 'a', fb: 'c', bg: 'f' } para determinar si este objeto tiene ambos conjuntos de pares clave/valor en cualquiera de los objetos de la matriz json. ¿Cómo puedo comparar estos objetos?

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

0

El siguiente enfoque utiliza

  • Object.entries para proporcionar/acceder a cada par clave-valor de un objeto en su forma de matriz/tupla de [key, value] .

  • Array.prototype.map para escribir para cada elemento de la matriz el resultado booleano de comparar cada una de sus entradas (pares clave-valor) con un objeto proporcionado adicionalmente.

  • Array.prototype.every para recuperar el valor booleano de comparar cada una de las entradas de un elemento de matriz (pares clave-valor) con un objeto proporcionado adicionalmente.

 const sampleArr = [ { bg: 'a', o: 'c' }, {'hg': 'a2', 'oo': 'c3' } ]; const sampleObj = { fm: 'a', fh: 'b', o: 'a', fe: 'b', ft: 'a', fb: 'c', bg: 'f' }; console.log("### How `Object.entries` works ###"); console.log({ sampleArr }); console.log( "sampleArr[0] => Object.entries(sampleArr[0]) ...", sampleArr[0], " => ", Object.entries(sampleArr[0]) ); console.log( "sampleArr[1] => Object.entries(sampleArr[1]) ...", sampleArr[1], " => ", Object.entries(sampleArr[1]) ); console.log("### Comparison 1 with what was provided by the OP ###"); console.log( sampleArr // create a new array which for each ... .map(item => { // ... `sampleArr` item retrieves/maps whether ... return Object .entries(item) // ... every entry of such an item exists // as entry of another provided object. .every(([key, value]) => sampleObj[key] === value) }) ); sampleArr.push({ o: 'a', ft: 'a', fh: 'b' }); // will match ... maps to `true` value. sampleArr.push({ o: 'a', ft: 'X', fh: 'b' }); // will not match ... maps to `false` value. console.log("### Comparison 2 after pushing two more items into `sampleArr` ###"); console.log({ sampleArr }); console.log( sampleArr // create a new array which for each ... .map(item => { // ... `sampleArr` item retrieves/maps whether ... return Object .entries(item) // ... every entry of such an item exists // as entry of another provided object. .every(([key, value]) => sampleObj[key] === value) }) );
 .as-console-wrapper { min-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!