JavaScript de Cero a Experto / Arrays
Reto: análisis de gastos
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
Qué debes construir
Dado un array de gastos, imprime un informe así:
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:
- Total del mes: suma con
reduce. - Promedio por gasto: total dividido entre la cantidad (redondea con
Math.round). - Gasto más caro: con
reduce(oMath.max(...gastos)). - Gastos hormiga: cuántos son menores a 5000 (
filter+.length). - Top 3 más caros: ordena de mayor a menor SIN mutar (
toSorted) y toma los 3 primeros (.slice(0, 3)). - 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
gastosoriginal: 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.