Hola buenas tardes, quisiera me ayudaran con su opinion; yo pause el video y trate de hacer el código con lo que he ido aprendiendo, sin embargo, al terminar y checar con el video veo que hemos diferido en varios puntos, pero mi duda principal es: ¿qué tan correcto es que una función no te retorne algo, sino que ejecute un procedimiento?, por ejemplo, lo que hice en este caso es que mi función llenara mi arreglo que definí afuera de las funciones, y ya en el la ejecución del programa al dar clic al botón me pide el número de elementos para meter al arreglo, el cual lo introduce a la función; lo que pasa es que veo que el video la función retorna el arreglo como tal, entonces no se si debería cambiar la forma en la que pienso el asunto. Aqui les dejo mi código:
<meta charset="utf-8">
<input />
<button>Verificar si acerto con el secreto</button>
<script>
//declaracion de variables
var secretos = [];
var input = document.querySelector("input");
var boton = document.querySelector("button");
//Definicion de funciones
function creaArreglo(Cantidad) {
for (var cantidadFor = 0; cantidadFor < Cantidad; cantidadFor++) {
secretos.push(Math.round(Math.random() * 20))
}
}
function verificar() {
var acertar = false;
for (var posicion = 0; posicion < secretos.length; posicion++) {
if (secretos[posicion] == parseInt(input.value)) {
alert("ACERTASTE");
acertar = true;
break;
}
}
if (acertar == false) {
alert("FALLASTE");
}
input.value = "";
input.focus();
}
input.focus();
boton.onclick = creaArreglo(parseInt(prompt("Cuantos numeros secretos quieres agregar?")));
alert(secretos);
boton.onclick = verificar;
</script>