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

132
Views
Elemento de mapa con variable del índice de matriz - Javascript

Estoy trabajando con tablas de Excel en JS y tratando de encontrar una manera de establecer/manipular el orden de las columnas antes de pegar datos en la tabla y después. Hay una línea con .map que parece ser clave, pero parece que no puedo usar/pasar variables dentro de ella.

¿Cómo puedo acceder a HeaderRowArr[1] dentro del map ? Al final, querré iterar sobre todo el HeaderRowArr y mapear cada elemento, pero siento que si puedo hacer esta primera parte, espero que sea más claro.

Esta línea es la línea en la que estoy trabajando:

var newData = transactions.map(item => [item.MERCHANT, item.HeaderRowArr[1], item.CATEGORY, item.AMOUNT]);

Pero recibo el error: "Unable to get property '1' of undefined or null reference"

Fragmento completo:

 export async function helloworld(event) { try { await Excel.run(async (context) => { //Start Func var transactions = [ { "BoxLabel": "AB12345678R001-005", "MERCHANT": "The Phone Company", "CATEGORY": "Communications", "AMOUNT": "120" }, { "BoxLabel": "ZY12345678R001-005", "MERCHANT": "Southridge Video", "CATEGORY": "Entertainment", "AMOUNT": "40" } ]; var WSNameStr = "Workorder_Samples"; var ws = await Get_WorkSheet(context, false, WSNameStr) var TBLNameStr = "ExpensesTable"; var rng = ws.getRangeByIndexes(0, 0, 1, Object.keys(transactions[0]).length) var expensesTable = await Get_Table(context, false, ws, TBLNameStr, rng) //expensesTable.getHeaderRowRange().values = [Object.keys(transactions[0])]; var HeaderRowArr = ["MERCHANT", "BoxLabel", "CATEGORY", "AMOUNT"] expensesTable.getHeaderRowRange().values = [HeaderRowArr]; //var newData = transactions.map(item => [item.CATEGORY, item.BoxLabel, item.MERCHANT, item.AMOUNT]); //This controls body output order, doesn't track headers order console.log(HeaderRowArr[1]) var newData = transactions.map(item => [item.MERCHANT, item.BoxLabel, item.CATEGORY, item.AMOUNT]); //var newData = transactions.map(item => [item.MERCHANT, item.HeaderRowArr[1], item.CATEGORY, item.AMOUNT]); expensesTable.rows.add(null, newData); ws.activate(); //End Func await context.sync(); }); } catch (error) { console.error(error); } event.completed(); }
about 4 years ago · Juan Pablo Isaza
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!