Estoy recreando un juego del ahorcado en el que creo una palabra al azar y la oculto con " ". es decir, si la palabra es "mono", entonces la matriz debe ser [" ", " ", " ", " ", " ", "_"].
Con el siguiente código, la alerta termina mostrando ",,,, " o " ". Intenté buscar la respuesta, probé el método .push y reorganicé el código sin resultados.
Además, este código es un código de ejemplo de un libro para principiantes, por lo que no estoy seguro de si simplemente está desactualizado ahora.
Agradezco si alguien puede arrojar algo de luz sobre cómo podría hacer que esto funcione con la sintaxis básica para principiantes.
// Attempt 1: var words = [ "javascript", "monkey", "amazing", "pancake" ]; var word = words[Math.floor(Math.random() * words.length)]; console.log(word); var answerArray = []; for (var i = 0; i < word.length; i++); { answerArray[i] = "_"; } alert(answerArray); // outputs ",,,,,,_" ///Attempt 2: //Same code as above but with: alert(answerArray.join(" ")); // outputs single "_" ///Attempt 3 //as above but with: var answerArray = []; for (var i = 0; i < word.length; i++); { answerArray.push("_"); } alert(answerArray.join(" ")); // outputs single "_"Primero use let en lugar de var. Luego, en su primer intento en la inicialización del ciclo for, tiene un punto y coma después del paréntesis de cierre. Esto finaliza la instrucción y el cuerpo for (entre {}) no se ejecuta. así que elimina ese punto y coma y listo
const words = [ "javascript", "monkey", "amazing", "pancake" ]; var word = words[Math.floor(Math.random() * words.length)]; console.log(word); var answerArray = []; for (var i = 0; i < word.length; i++) { answerArray[i] = ","; } console.log(answerArray[0]) alert(answerArray);Elimine el punto y coma en el ciclo for y estará listo para comenzar.
[ ',', ',', ',', ',', ',', ',', ',', ',', ',', ',' ]Elimine el punto y coma después de la declaración del bucle for y antes del cuerpo del bucle for. Este punto y coma hace que su bucle for finalice tan pronto como se declare.
var words = [ "javascript", "monkey", "amazing", "pancake" ]; var word = words[Math.floor(Math.random() * words.length)]; console.log(word); var answerArray = []; for (var i = 0; i < word.length; i++) { answerArray[i] = "_"; } alert(answerArray);