The Intl.ListFormat
object is a constructor for objects that enable language-sensitive list formatting.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
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
Specification |
---|
Intl.ListFormat The definition of 'ListFormat' in that specification. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ListFormat | Chrome Full support 72 | Edge No support No | Firefox Full support 78 | IE No support No | Opera Full support 60 | Safari No support No | WebView Android Full support 72 | Chrome Android Full support 72 | Firefox Android No support No | Opera Android Full support 51 | Safari iOS No support No | Samsung Internet Android No support No | nodejs
Full support
12.0.0
|
ListFormat() constructor | Chrome Full support 72 | Edge No support No | Firefox Full support 78 | IE No support No | Opera Full support 60 | Safari No support No | WebView Android Full support 72 | Chrome Android Full support 72 | Firefox Android No support No | Opera Android Full support 51 | Safari iOS No support No | Samsung Internet Android No support No | nodejs
Full support
13.0.0
|
format | Chrome Full support 72 | Edge No support No | Firefox Full support 78 | IE No support No | Opera Full support 60 | Safari No support No | WebView Android Full support 72 | Chrome Android Full support 72 | Firefox Android No support No | Opera Android Full support 51 | Safari iOS No support No | Samsung Internet Android No support No | nodejs
Full support
12.0.0
|
formatToParts | Chrome Full support 72 | Edge No support No | Firefox Full support 78 | IE No support No | Opera Full support 60 | Safari No support No | WebView Android Full support 72 | Chrome Android Full support 72 | Firefox Android No support No | Opera Android Full support 51 | Safari iOS No support No | Samsung Internet Android No support No | nodejs
Full support
12.0.0
|
resolvedOptions | Chrome Full support 72 | Edge No support No | Firefox Full support 78 | IE No support No | Opera Full support 60 | Safari No support No | WebView Android Full support 72 | Chrome Android Full support 72 | Firefox Android No support No | Opera Android Full support 51 | Safari iOS No support No | Samsung Internet Android No support No | nodejs
Full support
12.0.0
|
supportedLocalesOf | Chrome Full support 72 | Edge No support No | Firefox Full support 78 | IE No support No | Opera Full support 60 | Safari No support No | WebView Android Full support 72 | Chrome Android Full support 72 | Firefox Android No support No | Opera Android Full support 51 | Safari iOS No support No | Samsung Internet Android No support No | nodejs
Full support
13.0.0
|
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
- See implementation notes.
- See implementation notes.