Intl.ListFormat

Объект Intl.ListFormat представляет собой конструктор объектов, включающих языка-зависимое форматирование списков.

Синтаксис

new Intl.ListFormat([locales[, options]])

Параметры

locales

Необязательный параметр. Строка с языковой меткой BCP 47 или массив таких строк. Описание общей формы и интерпретации аргумента locales смотрите на странице Intl.

options
Необязательный параметр. Объект с некоторыми или всеми из следующих свойств:
  • localeMatcher
    Используемый алгоритм сопоставления локалей. Возможные значения: "lookup" и "best fit"; по умолчанию используется "best fit". Подробнее см. на странице Intl.
  • type
    Формат вывода. Возможные значения: "conjunction" для вывода значений через "и" (используется по умолчанию, прим. A, B, и C) или "disjunction" для вывода значений через "или" (прим. A, B, или C). "unit" для вывода значений с единицами измерений (прим. 5 фунтов, 12 унций).
  • style
    Стиль форматирования вывода. Возможные значения: "long" (используется по умолчанию, прим. A, B, и C); "short" или "narrow" (прим. A, B, C). При использовании narrow, параметр type может принимать только значение unit.

Описание

Свойства

Intl.ListFormat.prototype (en-US)
Позволяет добавлять свойства ко всем объектам Intl.ListFormat

Методы

Intl.ListFormat.supportedLocalesOf() (en-US)
Возвращает массив, содержащий те из переданных ему локалей, которые поддерживаются без необходимости использовать локаль по умолчанию.

Примеры

Использование format

Пример ниже показывает как создать объект ListFormat с поддержкой форматирования на русском языке и получить отформатированную строку с помощью метода format.

const list = ['Motorcycle', 'Bus', 'Car'];

 console.log(new Intl.ListFormat('ru-RU', { style: 'long', type: 'conjunction' }).format(list));
// > Motorcycle, Bus и Car

 console.log(new Intl.ListFormat('ru-RU', { style: 'short', type: 'disjunction' }).format(list));
// > Motorcycle, Bus или Car

 console.log(new Intl.ListFormat('ru-RU', { style: 'narrow', type: 'unit' }).format(list));
// > Motorcycle Bus Car

Использование formatToParts

Пример ниже показывает как получить отформатированные части объекта ListFormat с помощью метода formatToParts.

const list = ['Motorcycle', 'Bus', 'Car'];
console.log(new Intl.ListFormat('en-GB', { style: 'long', type: 'conjunction' }).formatToParts(list));

// > [ { "type": "element", "value": "Motorcycle" }, { "type": "literal", "value": ", " }, { "type": "element", "value": "Bus" }, { "type": "literal", "value": ", and " }, { "type": "element", "value": "Car" } ];

Спецификации

Спецификация Статус Комментарий
Intl.ListFormat proposal Stage 3