JavaScript moderno: Intl, copias y groupBy
⚠️ Soporte
Todo lo de esta página está disponible en las versiones actuales de los navegadores principales y en Node LTS. Si apuntas a navegadores antiguos, consulta Can I use.
1.Intl: fechas, monedas y listas sin librerías
Intl formatea números, fechas y listas según el idioma. Para precios en soles usa Intl.NumberFormat con currency: "PEN".
💡 Consejo
Crea el formateador una vez y reutilízalo: es más rápido que llamar a toLocaleString() en cada iteración.
2.Arrays: toSorted, toReversed, with y toSpliced
Los métodos clásicos sort() y reverse() modifican el array original. Las versiones nuevas devuelven una copia y dejan el original intacto, clave en React y en cualquier código que evite mutaciones.
3.Agrupar: Object.groupBy y Map.groupBy
Agrupar elementos por una clave era un reduce largo. Ahora es una sola llamada.
⚠️ Nota
Object.groupBy devuelve un objeto sin prototipo. Si necesitas claves que no sean texto, usa Map.groupBy.
📒 Apuntes para llevar
Intl.NumberFormat,DateTimeFormat,ListFormatyRelativeTimeFormatformatean según el idioma.toSorted,toReversed,withytoSplicedno mutan el original.Object.groupByyMap.groupByagrupan en una sola llamada.
🧠 Comprueba lo aprendido
Elige una respuesta en cada pregunta.
¿Qué diferencia hay entre sort() y toSorted()?
¿Cómo formateas un precio en soles?
¿Qué hace Object.groupBy(lista, fn)?