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
tener diferentes valores en las propiedades del mismo objeto en una matriz de objetos

por qué tengo un valor del mismo objeto en una matriz pero cuando lo selecciono así arr[0] encuentro en la consola diferentes valores

 class Player { constructor(x){ this.x = x } move(code){ if(code==="ArrowUp"){ this.x +=1; fn(); }; players[0] = player; } }; let players = []; let player = new Player(1); function fn() { console.log(player,players[0]) }
entonces, cuando agrego un evento, haga clic, por ejemplo, en el documento que, cuando suceda, la función del evento llamará a player.move (e.code) y pasará como argumento e.code // el valor de x del primer objeto en el impreso La matriz de jugadores es diferente de la x en el objeto jugador1 y jugadores[0]

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

0

¿Tu problema es que estás imprimiendo [] undefined ?

Reelaboré tu código para dar ese resultado:

 class Player { constructor(x){ this.x = x } move(code){ if(code==="ArrowUp"){ this.x +=1; fn(); }; players[0] = player; } }; let players = []; let player = new Player(1); player.move("ArrowUp"); function fn() { console.log(players,players[0]) }

Lo que sucede está dentro del player , el code es "ArrowUp" , activando el código dentro del if para ejecutar. Ese código incrementa player.x a 2 . En este momento, ningún código ha cambiado nada relacionado con players , la matriz, por lo que sigue siendo una matriz vacía [] . Este sigue siendo el caso cuando se llama a fn después de ese cambio a player . El primer valor impreso proviene de que players son una matriz vacía. Lo undefined proviene de indexar una matriz vacía en 0 (el primer elemento de la matriz) da indefinido cuando no hay ningún objeto allí. El resultado es [] undefined .

Luego, se ejecuta players[0] = player , colocando al player en la posición 0 de la matriz. Si ejecutamos fn en este punto, debería generar: [ Player { x: 2 } ] Player { x: 2 } . Obtendrá este comportamiento colocando una fn después de players[0] = player o colocándola después de player.move("ArrowUp"); .

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!