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

112
Views
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
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!