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

214
Views
Error al intentar usar la inserción en una matriz 2d

Estoy tratando de insertar un valor en una matriz 2d pero recibo el error:

No se puede leer la propiedad 'push' de indefinido

Aquí hay un MWE de mi código:

 var saida = new Array() for (i in dbInfo){ saida[i].push(i) }

Donde dbInfo es un rango en mi hoja, pero puede ser reemplazado por cualquier otro rango para este ejemplo. Necesito que la salida sea una matriz 2d para poder calcular los valores en la hoja.

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

0

Si acaba de crear la matriz, la matriz está vacía. Así que saida[n] será indefinido sin importar el valor que tenga n.

Primero debes crearlo. Entonces puedes empujarlo.

¿Quizás algo como esto? No está seguro de lo que necesita.

 var saida = new Array() for (i in dbInfo){ saida[i]=[] saida[i].push(i) }
about 4 years ago · Juan Pablo Isaza Report

0

Si dbInfo es un objeto de tipo Range from the Sheet, entonces la matriz devuelta después de usar getValues ya es una matriz 2D, por lo que bastará con una asignación simple:

 function addData() { // your other code let dbInfoVals = dbInfo.getValues(); let saida = dbInfoVals; console.log(saida) }

Sin embargo, si dbInfo es una matriz 1D, la transformación en una 2D se puede realizar utilizando el método de splice en JavaScript:

 function addData() { // your other code let saida = []; while (dbInfo.length){ saida.push(dbInfo.splice(0, 2)); } console.log(saida); }

El segundo parámetro de splice le dará la cantidad de columnas, por lo que es posible que deba ajustar esto para que coincida con su rango en consecuencia.

Referencia

  • Clase de rango - getValues() ;

  • Array.prototype.splice() .

about 4 years ago · Juan Pablo Isaza Report

0

Deberá definir su matriz en 2d. Por ejemplo: int[,] arr= new string[3, 2];

Tendrá que iterar dos veces.

 for(int col1 = 0; col1 < arr.GetLength(0); col1++){ for(int row1 = 0; row1 < arr.GetLength(1); row1++) { arr[col1,row1] = 2; } }
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!