CodeForge

JavaScript de Cero a Experto / Arrays

Reto: análisis de gastos

Reto30 min60 XP

Tu primer programa que ANALIZA una colección de datos. Con un array de gastos del mes, vas a producir un informe completo —total, promedio, el más caro, el top 3, los gastos hormiga— combinando todo el arsenal del módulo: filter, map, reduce y toSorted. Así se trabajan datos reales.

Reto

El informe del mes

Media25 min60 XP(×2 sin mirar la solución)

Qué debes construir

Dado un array de gastos, imprime un informe así:

terminal

Total del mes: 74900

Promedio por gasto: 10700

Gasto más caro: 25000

Gastos hormiga (< 5000): 2

Top 3 más caros: [25000, 18000, 12000]

¿Algún gasto supera 20000?: true

Con este array de partida: const gastos = [7000, 18000, 5400, 25000, 3000, 12000, 4500]

Requisitos:

  1. Total del mes: suma con reduce.
  2. Promedio por gasto: total dividido entre la cantidad (redondea con Math.round).
  3. Gasto más caro: con reduce (o Math.max(...gastos)).
  4. Gastos hormiga: cuántos son menores a 5000 (filter + .length).
  5. Top 3 más caros: ordena de mayor a menor SIN mutar (toSorted) y toma los 3 primeros (.slice(0, 3)).
  6. Un booleano: ¿algún gasto supera 20000? (some).

Reglas

  • Usa los métodos del módulo (reduce, filter, some, toSorted...), no bucles a mano (salvo que quieras comparar).
  • No mutes el array gastos original: usa versiones inmutables. Al final, muéstralo para confirmar que quedó igual.

25:00

Cuando estés listo, arranca el reloj.

Qué sigue

Módulo 4 cerrado: transformas, filtras, acumulas y ordenas colecciones — las habilidades que más usarás en tu carrera. Pero un gasto real no es solo un número: tiene nombre, categoría, fecha. El módulo 5 abre los OBJETOS: agrupar datos relacionados bajo una misma estructura, con propiedades y todo lo que los hace la pareja inseparable de los arrays.