Estoy haciendo una implementación de juego de acorazado con HTML/JavaScript. Se supone que esta función agrega las posiciones de los barcos en una tabla HTML copiando los elementos de una matriz 2d (p1Board) con las posiciones de los barcos.
let displayTable = () => { document.getElementById("player1turn").hidden = true; let table = document.getElementById("player1board"); for(var i = 1; i < table.rows.length; i++){ for(var j = 1; j < table.rows.cells; j++){ table.rows[i].cells[j].innerHTML = p1Board[i - 1][j - 1]; } } document.getElementById("player1table").hidden = false; } document.getElementById("p1start").addEventListener("click", displayTable);Luego, cuando abro el programa en mi navegador, aparece la tabla pero sin las posiciones de los barcos: [Battleship Board][1] [1]: https://i.stack.imgur.com/Nv1kA.png
El problema es que no está especificando la fila de la que desea obtener las celdas. Además, una vez que obtenga las celdas, debe acceder a su propiedad .length .
cambiar esta linea
for(var j = 1; j < table.rows.cells; j++)para esto
for(var j = 1; j < table.rows[i].cells.length; j++)