Ejercicio 22:
Programa una función que dado un array devuelva el número mas alto y el más bajo de dicho array, por ejemplo miFuncion([1, 4, 5, 99, -60]) devolverá [99, -60]
La forma en que lo hice:
Creo la función expresada arrMinMax que recibe como parámetro la varaible arr y lo inicializo como undefined.
Hago las verificaciones: que no ingrese nada (que esté vacío), que ingrese un array, que no sea un array vacío.
Con el return y console.info mando mensaje, utilizo los métodos .Math.min() y .Math.max() pasándole arr con el spread operator (...arr)
const arrayMinMax = (arr = undefined) =>{
if(arr === undefined) return console.warn("No ingresaste un arreglo de números.");
if(!(arr instanceof Array)) return console.error("El valor que ingresaste no es un arreglo");
if(arr.length === 0) return console.error("El arreglo está vacío");
for(let num of arr) {
if(typeof num !== "number") return console.error(`El valor ${num} ingresado no es un número`);
}
return console.info(`Arreglo original${arr}.\n Valor mayor: ${Math.max(...arr)}.\n Valor menor: ${Math.min(...arr)}`);
}
Verifico la función llamandola sin parámetro para ver las verificaciones
Verifico la función llamandola con un valor boolean como parámetro para ver las verificaciones
arrayMinMax(true);
Verifico la función llamandola sin parámetro para ver las verificaciones
arrayMinMax();
Verifico la función llamandola con un array vacío como parámetro para ver las verificaciones
arrayMinMax([]);
Verifico la función llamandola con un array con Numbers pero que el último element sea un boolean como parámetro para ver las verificaciones
arrayMinMax([2,8,9,4,true]);
Llamo a la función con array de Number
arrayMinMax([1,4,5,-20,85,-10])
Con F12 pueden inspeccionar 🧐 por consola el código en acción.