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

146
Views
Compare matrices json y dé como resultado una matriz simple

Tengo dos JSONS y tengo que crear una matriz a partir de ellos.

Matriz1: [{ label: "HEADER" value:"header" }, { label: "FOOTER" value:"footer" }]

Array2: [ { header: "Header 1", footer: "Footer 1" }, { header: "Header 2", footer: "Footer 2" }]

Matriz esperada (La etiqueta de Matriz1 será el criterio de búsqueda de Array2 Claves: [["Header 1","Header 2"],["Footer 1","Footer 2"]]

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

0

Puede usar Array.map() en Array1, luego, para cada valor en esta matriz, ejecute .map() nuevamente, devolviendo todos los elementos coincidentes en Array2.

Array.find() y String.includes() para hacer esto.

 const Array1 = [ { label: "HEADER", value:"header" }, { label: "FOOTER", value:"footer" } ] const Array2 = [ { header: "Header 1", footer: "Footer 1" }, { header: "Header 2", footer: "Footer 2" } ] const result = Array1.map(({ label, value}) => { return Array2.map((obj) => { let key = Object.keys(obj).find(key => key.includes(value)); return key ? obj[key]: null; }) }) console.log('Result:', result);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

Otro ejemplo, esta vez Array2 tiene una entrada sin propiedad de pie de página (como se solicitó):

 const Array1 = [ { label: "HEADER", value:"header" }, { label: "FOOTER", value:"footer" } ] const Array2 = [ { header: "Header 1", footer: "Footer 1" }, { header: "Header 2" }] const result = Array1.map(({ label, value}) => { return Array2.map((obj) => { let key = Object.keys(obj).find(key => key.includes(value)); return key ? obj[key]: null; }) }) console.log('Result:', result);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

about 4 years ago · Juan Pablo Isaza Report

0

Doy por sentado que los valores de array1 solo pueden contener 'encabezado' | 'pie de página' y que cada elemento de array2 tiene un encabezado y una propiedad de pie de página ya que no está especificado. Así sería:

 const array1 = JSON.parse(/* JSON1 file content */); const array2 = JSON.parse(/* JSON2 file content */); const result = array1.map(item1 => { const criteria = item1.label.toLowerCase(); return array2.map(item2 => item2[criteria]); });
about 4 years ago · Juan Pablo Isaza Report

0

 let Array1=[{label:"HEADER",value:"header",},{label:"FOOTER",value:"footer",}] ,Array2=[{header:"Header 1",footer:"Footer 1"},{header:"Header 2",footer:"Footer 2"}] let result = Array1.map(e => e.label.toLowerCase()) .map(s => Array2.map(n => n[s])) 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!