Agregación de Métricas por Categoría
Dificultad: Difícil TypeScript advanced coding
type Metric = { category: string; value: number };
const metrics: Metric[] = [{category: 'cpu', value: 45}, {category: 'mem', value: 80}, {category: 'cpu', value: 55}];
const result = metrics.reduce<Record<string, number>>((acc, m) => ({...acc, [m.category]: (acc[m.category] || 0) + m.value}), {}); 📥 Inputs:
metrics = [{category: 'cpu', value: 45}, {category: 'mem', value: 80}, {category: 'cpu', value: 55}]
❓ ¿Cuál es el output?
Ingresa tu respuesta abajo
💡 Explicación
Este reduce agrupa métricas por categoría y suma sus valores. Usa un tipo genérico Record<string, number> para el acumulador. El operador spread {...acc} copia el objeto anterior, luego suma el valor actual a la categoría usando || 0 para inicializar categorías nuevas. ¡Patrón útil para dashboards de monitoreo!
¿Cuál es el valor de result? 📊