Este es el codigo del profesor, lo descargue para ver si con ese codigo tambien me aparecia el mismo problema que con el que yo escribi.
los ciclos y arrays me han costado un poquito.
no entiendo porque en el argumento que el profesor pasa a la funcion sortearNumeros(4) . funciona con argumentos menores o iguales a 10. pero si ingresamos 11 o mas la pagina se bloquea.
segun mi logica no deberia bloquearse.
Esto es lo que yo entiendo: la funcion genera numeros aleatorios desde cero hasta 10. si queremos que genere 4 numeros diferentes, los crea sin problema, Ahora si yo le digo genereme 12 numeros aleatorios el programa no deberia genrear solo 10 numeros aleatorios diferentes ? asi yo le pida 12 o 20 numeros deberia generarme 1-2-3-4-5-6-7-8-9-10?
quien me ayuda a entender? ya llegue a mi tope con cilos y arrays.
gracias
<meta charset="UTF-8">
<input/>
<button>Verificar si acertó con el secreto</button>
<script>
function aleatorio() {
return Math.round(Math.random()*10);
}
function sortearNumeros(cantidad) {
var secretos = [];
var contador = 1;
while(contador<=cantidad){
var numeroAleatorio = aleatorio();
console.log(numeroAleatorio)
var encontrado = false;
if (numeroAleatorio != 0){
for (var posicion = 0; posicion < secretos.length; posicion++) {
if (numeroAleatorio == secretos[posicion]) {
encontrado = true;
break;
}
}
if (encontrado == false) {
secretos.push(numeroAleatorio);
contador++;
}
}
}
return secretos
}
var secretos = sortearNumeros(11);// aqui era 4
alert(secretos);// aqui era console.log
var input = document.querySelector("input");
input.focus();
function verificar() {
var encontrado = false;
for(var posicion = 0; posicion < secretos.length; posicion++){
if (parseInt(input.value) == secretos[posicion]) {
alert("Usted acertó");
encontrado = true;
break;
}
}
if (encontrado == false) {
alert("Uster erró");
}
input.value = "";
input.focus();
}
var button = document.querySelector("button");
button.onclick = verificar;
</script>