← JavaScript

Coding challenge

find the largest number in an array.

Challenge: find the largest number in an array.
Input: [3, 7, 2, 9, 1]
Expected output: 9
Show solution
// 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 };