Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

136
Vistas
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
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda