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

138
Views
Cambiar el cierto valor de índice de la matriz bidimensional javascript

Estoy tratando de poner cierto valor en cierta matriz bidimensional pero agrega diferente.

Aquí está mi código.

 const arr = [] const tdArr = [] arr.length = 5 arr.fill('p', 0) for(let i = 0; i < arr.length; i++){ tdArr.push(arr) } const makeRnd = (min, max) => { min = Math.ceil(min) max = Math.floor(max) return Math.floor(Math.random() * (max - min)) + min } let firstRnd = makeRnd(0, 4) let secRnd = makeRnd(0, 4) let tdArr2 = [...tdArr] tdArr2[firstRnd][secRnd] = 'q' console.log(tdArr2)

No sé por qué no (por ejemplo) tdArr2[0][1] no se cambia, pero también cambia todos los segundos valores de las matrices.

Parece fácil, pero no puedo buscarlo en Google :( ¡Gracias por la ayuda!

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

0

Use tdArr.push([...arr]) en el bucle for en lugar de tdArr.push(arr) .

 const arr = [] const tdArr = [] arr.length = 5 arr.fill('p', 0) for(let i = 0; i < arr.length; i++){ tdArr.push([...arr]) } const makeRnd = (min, max) => { min = Math.ceil(min) max = Math.floor(max) return Math.floor(Math.random() * (max - min)) + min } let firstRnd = makeRnd(0, 4) let secRnd = makeRnd(0, 4) let tdArr2 = [...tdArr] tdArr2[firstRnd][secRnd] = 'q' console.log(tdArr2)

about 4 years ago · Juan Pablo Isaza Report

0

Como mencionó @Dave Newton, cada elemento de la matriz tdArr es el mismo que es una referencia a arr , por lo que cuando cambia un valor de arr , todos los elementos de tdArr cambian, ya que todos hacen referencia a la misma matriz.

Presionaría una matriz literal en lugar de crear una matriz y luego la empujaría o crearía una copia como se menciona en la respuesta anterior y empujaría la copia en cada iteración.

 tdArr.push(['p']);
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!