Quita duplicados y agrupa modelos por familia
Un inventario de modelos con entradas repetidas: quédate con la más reciente de cada uno y cuenta cuántos hay por familia.
RECORDS es un inventario de descargas con la forma { name, family, date, digest }. Un mismo name aparece varias veces.
1. Escribe dedupeLatest(records): devuelve un array nuevo con un registro por name, el de date más reciente, ordenado por name de forma ascendente. No modifiques el array de entrada.
2. Escribe countByFamily(records): devuelve un objeto { familia: número }.
Las fechas vienen en formato YYYY-MM-DD, así que se pueden comparar como texto.
Retos 0/5
- Deja un registro por modelo, ordenados por nombre
- Se queda con la entrada más reciente
- No modifica el array de entrada
- Cuenta por familia después de quitar duplicados
- Un inventario vacío da [] y {}
function dedupeLatest(records) {
// un registro por nombre: el de fecha más reciente
// después ordena por nombre
return records.slice();
}
function countByFamily(records) {
// { family: recuento }
return {};
}
console.log(countByFamily(dedupeLatest(RECORDS)));Para profundizar: la referencia de MDN (en inglés) →
¿Esto en producción, con tus datos? Hablemos 15 minutos →