Descripción
Eres parte del equipo de desarrollo de una tienda en línea. Se necesita una función que optimice el inventario al identificar los productos que tienen más demanda y deben ser reabastecidos.
Requisitos del Reto
Entrada:
Una lista de productos con información sobre el nombre del producto, cantidad en inventario y número de ventas en el último mes.
const inventory = [
{ name: "Laptop", stock: 5, sales: 20 },
{ name: "Mouse", stock: 50, sales: 30 },
{ name: "Keyboard", stock: 10, sales: 15 },
{ name: "Monitor", stock: 2, sales: 40 },
{ name: "USB Cable", stock: 100, sales: 5 }
];
Salida
Una nueva lista de productos que necesitan ser reabastecidos. Define "reabastecimiento necesario" como aquellos productos cuyo inventario es menor al 20% de las ventas.
const result = [
{ name: "Laptop", stock: 5, sales: 20 },
{ name: "Monitor", stock: 2, sales: 40 }
];
Condiciones:
- El código debe ser eficiente y manejable incluso con grandes cantidades de datos.
- Explica paso a paso cómo abordaste el problema y por qué elegiste este enfoque.
Bonus
- Añade una función que ordene los productos en la lista resultante por nivel de urgencia (el porcentaje más bajo entre stock y ventas).
const result = [
{ name: "Monitor", stock: 2, sales: 40 },
{ name: "Laptop", stock: 5, sales: 20 }
];
- Proporciona un gráfico simple (usando librerías como Chart.js) que muestre los productos y su estado actual de inventario frente a sus ventas.
Entrega
- Código completo en un archivo .js o un enlace a un repositorio en GitHub.
- Una breve explicación escrita del proceso.