Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Agregación JS: Arrays

Cuando trabajamos con arrays en programación, a menudo necesitamos hacer cálculos sobre todos sus elementos. Estos cálculos pueden ser encontrar el número más grande, sumar todos los elementos, calcular un promedio, etc. A esto lo llamamos agregación.

La agregación no requiere aprender una nueva sintaxis, pero sí influye en la manera en que diseñamos nuestros algoritmos. En esta lección, vamos a explorar dos operaciones fundamentales de agregación:

  • Encontrar el valor máximo en un array.
  • Calcular la suma de los elementos de un array.

Encontrar el valor náximo

🌡️ Imagina que tienes una lista de temperaturas registradas durante la semana y necesitas saber cuál fue la más alta. Para encontrar el valor máximo en un array, necesitamos comparar cada número con el actual mayor.

Veamos cómo hacerlo en código:

const calculateMax = (coll) => {
  // Si el array está vacío, no hay un valor máximo posible
  if (coll.length === 0) {
    return null;
  }

  // Suponemos inicialmente que el máximo es el primer elemento
  let max = coll[0];

  // Recorremos el resto del array (desde el segundo elemento en adelante)
  for (let i = 1; i < coll.length; i += 1) {
    const currentElement = coll[i];

    // Si encontramos un número mayor, actualizamos el máximo
    if (currentElement > max) {
      max = currentElement;
    }
  }

  return max;
};

console.log(calculateMax([])); // => null
console.log(calculateMax([3, 2, -10, 38, 0])); // => 38

Explicación

  • Suponemos que el primer número del array es el mayor (max = coll[0]).
  • Recorremos el array desde el segundo elemento para compararlo con max.
  • Si encontramos un número más grande, actualizamos max.
  • Si el array está vacío, devolvemos null para evitar errores.
Caso Resultado
calculateMax([]) null
calculateMax([3, 2, -10, 38, 0]) 38

¿Por qué no usamos 0 como valor inicial de max? Supongamos que los números en el array son todos negativos: [-5, -2, -8]. Si comenzáramos con max = 0, obtendríamos un resultado incorrecto, ya que 0 no está en el array. Por eso es más seguro usar el primer elemento como referencia inicial.


Calcular la suma de un Array

Otro cálculo común que hacemos con arrays es la suma de todos sus elementos. Esto es útil, por ejemplo, para calcular el precio total en una lista de compras.

Aquí está el código para sumar los elementos de un array:

const calculateSum = (coll) => {
  // Empezamos la suma en 0
  let sum = 0;

  // Recorremos todos los elementos y los sumamos
  for (let i = 0; i < coll.length; i += 1) {
    sum += coll[i];
  }

  return sum;
};

console.log(calculateSum([])); // => 0
console.log(calculateSum([3, 2, -10, 38, 0])); // => 33

Explicación

  • La variable sum comienza en 0 porque aún no hemos sumado nada.
  • Recorremos todos los números usando un bucle for.
  • En cada vuelta, sumamos el número actual a sum.
Paso Valor de sum
Inicialización 0
sum = sum + 3 3
sum = sum + 2 5
sum = sum + (-10) -5
sum = sum + 38 33

💡 El concepto de "Elemento Neutro"

En matemáticas, existe el elemento neutro para cada tipo de operación:

  • En la suma, el neutro es 0 porque x + 0 = x.
  • En la multiplicación, el neutro es 1 porque x * 1 = x.
  • Para la concatenación de strings, el neutro es '' (cadena vacía).

Definir correctamente el elemento neutro es crucial para evitar errores en cálculos de agregación.


Resumen

  • Agregación es el proceso de calcular un valor basado en una colección de datos (ej. suma, máximo, promedio).
  • Para encontrar el valor máximo, empezamos con el primer elemento y recorremos el array comparando números.
  • Para sumar los números de un array, empezamos en 0 e iteramos sumando cada elemento.
  • El elemento neutro es necesario para iniciar correctamente una agregación.
  • Si no inicializamos una variable antes de una operación, podemos obtener errores con undefined.

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY