Estoy teniendo algún problema en algún lugar de mi código donde aplicamos los condicionales para que no se repitan los números. La consola de chore detecta que un numero se repiten, pero mi código no evita que el resultado aleatorio contenga números repetidos. Si alguien es capaz de revisar y descifrar cual es el error, se lo agradezco ya que estuve revisando un rato largo y no lo encuentro.
<script>
function aleatoria(){
return Math.round(Math.random()*10);
}
function sortearNumeros(cantidad) {
var secretos = [];
var contador = 1;
while(contador<=cantidad){
var numeroAleatorio = aleatoria();
console.log(numeroAleatorio)
var encontrado = false;
if (numeroAleatorio != 0) {
for (var posicion = 0; posicion < secretos.lenght; posicion++) {
if (numeroAleatorio == secretos[posicion]) {
encontrado = true;
break;
}
}
if (encontrado == false) {
secretos.push(numeroAleatorio);
contador++;
}
}
}
return secretos
}
var secretos = sortearNumeros(4);
console.log(secretos)
var input = document.querySelector("input");
input.focus();
function verificar() {
var encontrado = false;
for(var posicion = 0; posicion < secretos.lenght; posicion++) {
if (parseInt(input.value) == secretos[posicion]) {
alert("usted acertó");
encontrado = true
break;
}
}
if (encontrado == false) {
alert("usted erró");
}
input.value = "";
input.focus();
}
var button = document.querySelector("button");
button.onclick = verificar;
</script>