DOM и React Senior DOM на практике обновлено

Форматирование по локали

Условие

createFormatters(locale): number(n), currency(n, code), date(d), relative(seconds) - через Intl. Верни объект с этими функциями.

Что проверяют тесты

  • числа с разделителями

  • валюта

  • дата

  • относительное время со склонением

  • форматтеры переиспользуются

Как подойти

Intl закрывает разом разделители разрядов, валюты, форматы дат и склонение числительных всех локалей - ручные реализации этого неизбежно отстают. Важная практическая деталь: конструктор форматтера тяжёлый, и создание его внутри рендера списка из тысячи строк заметно тормозит. Поэтому форматтеры создают один раз и кешируют, что тут и проверяется.

Подсказки: 4
  1. Создание Intl-форматтера стоит дорого - создавай один раз и переиспользуй.
  2. RelativeTimeFormat сам выбирает форму числа по правилам локали.
  3. Единицу для относительного времени выбираешь ты, склонение - библиотека.
  4. Настройка numeric: auto подставляет «вчера» и «позавчера» вместо числительных.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.