DOM и React Senior DOM на практике обновлено
Форматирование по локали
Условие
createFormatters(locale): number(n), currency(n, code), date(d), relative(seconds) - через Intl. Верни объект с этими функциями.
Что проверяют тесты
числа с разделителями
валюта
дата
относительное время со склонением
форматтеры переиспользуются
Как подойти
Intl закрывает разом разделители разрядов, валюты, форматы дат и склонение числительных всех локалей - ручные реализации этого неизбежно отстают. Важная практическая деталь: конструктор форматтера тяжёлый, и создание его внутри рендера списка из тысячи строк заметно тормозит. Поэтому форматтеры создают один раз и кешируют, что тут и проверяется.
Подсказки: 4
- Создание Intl-форматтера стоит дорого - создавай один раз и переиспользуй.
- RelativeTimeFormat сам выбирает форму числа по правилам локали.
- Единицу для относительного времени выбираешь ты, склонение - библиотека.
- Настройка numeric: auto подставляет «вчера» и «позавчера» вместо числительных.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.