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

126
Views
Modificando un elemento de matriz en matriz

Quiero modificar los valores de la fila 50, el valor predeterminado es -1

 let rowUp = table.pos[51] for (let i in rowUp){ process.stdout.write(rowUp[i].val+'') } process.stdout.write('\n') let rowSet = table.pos[50] for (let i in rowSet){ rowSet[i].val = 0 process.stdout.write(rowSet[i].val+'') } process.stdout.write('\n') let rowDn = table.pos[49] for (let i in rowDn){ process.stdout.write(rowDn[i].val+'') }

Y el resultado es

-1-1-1-1-1-1-1-1-1-1

0000000000

0000000000

quiero que sea

-1-1-1-1-1-1-1-1-1-1

0000000000

-1-1-1-1-1-1-1-1-1-1

EDITAR

vi mi error aqui

 const cellData = await new cellSchema() for (let posZ = 0; posZ < 100; posZ++) { let row = [] for (let posX = 0; posX < 100; posX++) { row[posX] = cellData } table.pos[posZ] = row }

Necesita ser

 for (let posZ = 0; posZ < 100; posZ++) { let row = [] for (let posX = 0; posX < 100; posX++){ const cellData = await new cellSchema() row[posX] = cellData } table.pos[posZ] = row }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Sospecho que los nodos dentro de sus filas son todas referencias al mismo objeto. Entonces, cuando cambia el atributo val para uno de ellos, cambia para todos ellos.

Para solucionar esto de la manera correcta, debe asegurarse de crear copias para cada nodo al crear su tabla.

Para solucionar esto de una manera pirateada en el caso de su fragmento de código, esto es lo que puede hacer:

 let rowUp = table.pos[51] for (let i in rowUp){ process.stdout.write(rowUp[i].val+'') } process.stdout.write('\n') let rowSet = table.pos[50] for (let i in rowSet){ rowSet[i] = { …rowSet[i], val: 0 } process.stdout.write(rowSet[i].val+'') } process.stdout.write('\n') let rowDn = table.pos[49] for (let i in rowDn){ process.stdout.write(rowDn[i].val+'') }

Esto creará una copia cuando necesite desviarse del objeto de referencia común en su tabla.

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!