Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

140
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda