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

165
Views
crear una matriz de objetos a partir de una matriz de identificadores de cadena con el primer objeto que tiene el primer valor con el segundo, el segundo con el tercero y así sucesivamente

Tengo una matriz de cadenas, por ejemplo const array1 = ["124542", "112244", "112245", "112246"];

Quiero crear los siguientes resultados:

 const array2 = [ { "comparableId": "124542", "comparatorId": "112244" }, { "comparableId": "112244", "comparatorId": "112245" }, { "comparableId": "112245", "comparatorId": "112246" } ]

En esta matriz2, el primer valor de índice de la matriz1 está con el segundo valor, el segundo valor con el tercero y el tercero con el cuarto y así sucesivamente. Este array1 es dinámico y puede tener solo 1 valor, por ejemplo, const array1 = ["124542"]; y puede tener cualquier número de valores.

He intentado usar los métodos de reduce y asignación de map Script.

 const array2 = array1.map((value, index) => { return { comparableId: value, comparatorId: array1[index + 1] || '', }; });

¿Hay alguna otra buena manera de hacerlo?

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

0

Usar un bucle for es probablemente lo más fácil aquí.

 const array1 = ["124542", "112244", "112245", "112246"]; const transform = (array) => { const result = []; for (let i = 0; i === 0 || i < array.length - 1; ++i) { result.push({ comparableId: array[i], comparatorId: array[i + 1] ?? "", }) } return result; }; console.log(transform(array1)); console.log(transform(["124542"]));

about 4 years ago · Juan Pablo Isaza Report

0

 const array1 = ["124542", "112244", "112245", "112246"]; let array2 = []; array1.map((item, index) =>{ array2.push({comparableId: item, comparatorId: array1[index+1] || ""}) }) console.log(array2)

about 4 years ago · Juan Pablo Isaza Report

0

Totalmente declarativo, sin solución de mutaciones.

 const array1 = ["124542", "112244", "112245", "112246"], array2 = [...Array(Math.ceil(array1.length / 2))].map((_, i) => ({comparableId: array1[i * 2], comparatorId: array1[i * 2 + 1] ?? ""}) ); console.log(array2);

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!