// Reto: encontrar el número mayor en un arreglo.
// Entrada: [3, 7, 2, 9, 1]
// Salida esperada: 9
// Solución 1: usando Math.max con el operador spread.
// Math.max recibe números individuales, así que "expandimos" el arreglo.
function maximo(numeros) {
return Math.max(...numeros);
}
// Solución 2: iterando el arreglo manualmente (bueno para explicar).
// Guardamos el mayor valor visto hasta ahora y lo actualizamos si encontramos uno más grande.
function maximoConBucle(numeros) {
let mayor = numeros[0];
for (const n of numeros) {
if (n > mayor) {
mayor = n;
}
}
return mayor;
}
console.log(maximo([3, 7, 2, 9, 1])); // 9
console.log(maximo([-5, -2, -10])); // -2 (funciona con negativos)
console.log(maximoConBucle([100, 50, 200])); // 200
console.log(maximoConBucle([42])); // 42 (caso límite: un solo elemento)
// Explicación:
// Math.max(...numeros) es equivalente a Math.max(3, 7, 2, 9, 1). El spread
// convierte el arreglo en argumentos individuales. La versión con bucle compara
// cada número con el mayor actual y lo actualiza cuando encuentra uno más
// grande.
module.exports = { maximo, maximoConBucle };