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

154
Views
¿Cómo toma el índice de un objeto en una matriz y concatena ese valor en la clave del objeto?

Tengo esta matriz:

 var arr = [ { itemCategory: "cats", itemSku: "12345", itemSubTotal: 10, itemQuantity: 2, }, { itemCategory: "dogs", itemSku: "56789", itemSubTotal: 5, itemQuantity: 1, } ]

y necesito este formato:

 var arr = [ { itemCategory1: "cats", itemSku1: "12345", itemSubTotal1: 10, itemQuantity1: 2, }, { itemCategory2: "dogs", itemSku2: "56789", itemSubTotal2: 5, itemQuantity2: 1, } ]

¿Cómo tomo el número de índice del objeto actual y lo agrego a la clave del objeto? Lo mejor que pude hacer es esto:

 var newArr=[]; for (var i = 0; i < arr.length; i++){ var obj = arr[i]; for (var key in obj){ var value = obj[key]; var j = i; j = j+=1; newArr.push(key + j + ": " + value); } }

pero solo me da una matriz plana:

 0: "itemCategory1: cats" 1: "itemSku1: 12345" 2: "itemSubTotal1: 10" 3: "itemQuantity1: 2" 4: "itemCategory2: dogs" 5: "itemSku2: 56789" 6: "itemSubTotal2: 5" 7: "itemQuantity2: 1"

Aprecio que solo lo estoy insertando en una matriz, pero no pude descubrir cómo actualizar las claves de objeto con esos números de índice.

Gracias por cualquier ayuda; muy apreciado.

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

0

Demostración de trabajo:

 // Input array let arr = [ { itemCategory: "cats", itemSku: "12345", itemSubTotal: 10, itemQuantity: 2, }, { itemCategory: "dogs", itemSku: "56789", itemSubTotal: 5, itemQuantity: 1, } ]; // Calculation to add index in each property of an object. arr.forEach((obj, index) => { Object.keys(obj).forEach((item) => { obj[item + (index + 1)] = obj[item]; delete obj[item]; }) }); // Result console.log(arr);

about 4 years ago · Juan Pablo Isaza Report

0

En tu código, esta línea:

 newArr.push(key + j + ": " + value);

debería ser esto:

 newArr.push({[key + j]: value});

Pensé que sería más limpio asignar las claves a un nuevo objeto

 let arr = [{ itemCategory: "cats", itemSku: "12345", itemSubTotal: 10, itemQuantity: 2, }, { itemCategory: "dogs", itemSku: "56789", itemSubTotal: 5, itemQuantity: 1, } ] arr = arr.map((a, i) => { let n = {} Object.keys(a).forEach(k => n[k + (i + 1)] = a[k]); return n; }) console.log(arr)

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!