Necesito obtener el valor minimo de un array llenado por teclado. El array se llena correctamente, pero cuando igualo a la variable minimo, me da undefined
function minimo() {
var miArray = [];
var min;
//Llenamos el array con cinco datos
for (var i = 1; i <= 5; i++) {
var num = prompt("Introduce un numero");
miArray.push(num);
}
for (var i = 0; i < miArray.length; i++) {
if (parseInt(miArray[i]) < min) {
min = miArray[i];
}
}
console.log(min);
document.write("El menor número introducido es " + parseInt(min));
}
Claro, debes dar una valor inicial a "min", típicamente tomado del primero de los datos.
El problema en tu código es que nunca inicializas la variable 'min', por lo que su valor es 'undefined'. Entonces, cuando tratas de comparar el valor de un elemento del array con min, la primera vez que entra en el bucle 'if' es como si estuvieras comparando con 'undefined'.
Para solucionar esto, puedes inicializar 'min' con un valor alto (por ejemplo, el primer elemento del array) antes de entrar en el bucle de comparación. Aquí te dejo una posible solución:
function minimo() {
var miArray = [];
var min;
// Llenamos el array con cinco datos
for (var i = 1; i <= 5; i++) {
var num = prompt("Introduce un numero");
miArray.push(num);
}
// Inicializamos min con el primer elemento del array
min = parseInt(miArray[0]);
for (var i = 1; i < miArray.length; i++) {
if (parseInt(miArray[i]) < min) {
min = parseInt(miArray[i]);
}
}
console.log(min);
document.write("El menor número introducido es " + min);
}
Espero que esto te ayude.