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

179
Views
Creación de una nueva matriz de objetos a partir de valores específicos en 2 matrices diferentes (JavaScript)

Tengo estas 2 matrices:

 const data = [ { url: 'google.com', title: 'google', social: false, corporate: true }, { url: 'facebook.com', title: 'facebook', social: true, corporate: true } ]; const valuesToExtract = ['url', 'title'];

Necesito llegar a este resultado:

 const result = [ { url: 'somepath[0].url', title: 'somepath[0].title' }, { url: 'somepath[1].url', title: 'somepath[1].title' } ]

Intenté de esta manera:

 const newArray = []; for (let i = 0; i < data.length; i++) { for (const value of valuesToExtract ) { const newObject = {}; newObject[value] = `somepath[${i}].${value}`; newArray.push(newObject); } }

Pero el resultado que obtengo es:

 const result = [ { url: 'somepath[0].url' }, { title: 'somepath[0].title' }, { url: 'somepath[1].url' }, { title: 'somepath[1].title' } ]

¿Cómo puedo hacerlo mejor?

about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

Solo necesito cambiar un poco dónde poner cosas en tus bucles anidados. Necesitas dos bucles:

  1. El primer bucle pasa por la matriz data
  2. Para cada punto de datos, el segundo bucle pasa por los valores para valuesToExtract

Por lo tanto, solo desea push su newObject una vez que el segundo ciclo haya terminado (es decir, una vez que valuesToExtract extraer hayan terminado de extraer). De esta manera, obtiene un newObject para cada elemento de data .

 const data = [ { url: 'google.com', title: 'google', social: false, corporate: true }, { url: 'facebook.com', title: 'facebook', social: true, corporate: true } ]; const valuesToExtract = ['url', 'title']; const newArray = []; for (let i = 0; i < data.length; i++) { // Create a new Object for every data item const newObject = {}; for (const value of valuesToExtract ) { newObject[value] = `somepath[${i}].${value}`; } newArray.push(newObject); } console.log(newArray)

about 4 years ago · Santiago Gelvez 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!