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

117
Visualizações
La función genera una matriz diferente pero con la misma entrada

Estoy escribiendo una función para un juego de acorazados que crea una cuadrícula de 8x8 y luego coloca dos 'barcos' en posiciones aleatorias dentro de esa cuadrícula:

 //generates 8x8 board const generateBoard = () => { const gridRow = [] const gridContainer = [] for(let i=0; i<8; i++){ gridRow[i] = ['x'] gridContainer.push(gridRow) } return gridContainer } //puts ships at two random positions const generateBoardWithShips = (board) => { for (let i=0; i<2; i++) { const x = Math.floor(Math.random() * 8); const y = Math.floor(Math.random() * 8); board[y][x] = ['🚢']; coordinates.push(x,y) } return board } //I also have an entire grid saved to variable initialBoardState const initialBoardState = [ [['x'],['x'],['x'],['x'],['x'],['x'],['x'],['x']], [['x'],['x'],['x'],['x'],['x'],['x'],['x'],['x']], [['x'],['x'],['x'],['x'],['x'],['x'],['x'],['x']], [['x'],['x'],['x'],['x'],['x'],['x'],['x'],['x']], [['x'],['x'],['x'],['x'],['x'],['x'],['x'],['x']], [['x'],['x'],['x'],['x'],['x'],['x'],['x'],['x']], [['x'],['x'],['x'],['x'],['x'],['x'],['x'],['x']], [['x'],['x'],['x'],['x'],['x'],['x'],['x'],['x']] ]

Lo que me confunde es esto: cuando paso initialBoardState como argumento para generateBoardWithShips , funciona como se desea y crea una cuadrícula de 8x8 con barcos en dos posiciones aleatorias.
Sin embargo, cuando paso la salida de generateBoard (también una cuadrícula de 8x8) a generateBoardWIthTwoShips , la salida es una cuadrícula con dos barcos en la misma posición en cada fila.

He registrado la salida de createBoard y es idéntica a initialBoardState , así que si estoy poniendo exactamente la misma entrada en generateBoardWithTwoShips , ¿por qué me da salidas diferentes?

Resumen:

 const grid = generateBoard() generateBoardWithTwoShips(initialBoardState) : works fine generateBoardWithTwoShips(grid) : prints 2 ships, but in every row
about 4 years ago · Juan Pablo Isaza
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