W3cubDocs

/JavaScript

Intl.listFormat

The Intl.ListFormat object is a constructor for objects that enable language-sensitive list formatting.

Constructor

Intl.ListFormat()
Creates a new ListFormat object.

Static methods

Intl.ListFormat.supportedLocalesOf()
Returns an array containing those of the provided locales that are supported without having to fall back to the runtime's default locale.

Instance methods

Intl.ListFormat.prototype.format()
Returns a language-specific formatted string representing the elements of the list.
Intl.ListFormat.prototype.formatToParts()
Returns an array of objects representing the different components that can be used to format a list of values in a locale-aware fashion.

Examples

Using format

The following example shows how to create a List formatter using the English language.

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

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

 console.log(new Intl.ListFormat('en-GB', { style: 'short', type: 'disjunction' }).format(list));
// > Motorcycle, Bus or Car

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

Using formatToParts

The following example shows how to create a List formatter returning formatted parts

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" } ];

Specifications

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
ListFormat 72 No 78 No 60 No
ListFormat() constructor 72 No 78 No 60 No
format 72 No 78 No 60 No
formatToParts 72 No 78 No 60 No
resolvedOptions 72 No 78 No 60 No
supportedLocalesOf 72 No 78 No 60 No
Mobile
Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
ListFormat 72 72 No 51 No No
ListFormat() constructor 72 72 No 51 No No
format 72 72 No 51 No No
formatToParts 72 72 No 51 No No
resolvedOptions 72 72 No 51 No No
supportedLocalesOf 72 72 No 51 No No
Server
Node.js
ListFormat 12.0.0
12.0.0
Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.
ListFormat() constructor 13.0.0
13.0.0
12.0.0
Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the ListFormat instance silently falls back to en-US. To make full ICU (locale) data available for versions prior to 13, see Node.js documentation on the --with-intl option and how to provide the data.
format 12.0.0
12.0.0
Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.
formatToParts 12.0.0
12.0.0
Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.
resolvedOptions 12.0.0
12.0.0
Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.
supportedLocalesOf 13.0.0
13.0.0
12.0.0
Before version 13.0.0, only the locale data for en-US is available by default. To make full ICU (locale) data available for versions prior to 13, see Node.js documentation on the --with-intl option and how to provide the data.

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://wiki.developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat