Web/JavaScript/Reference/Global objects/Intl/ListFormat/formatToParts

From Get docs


The Intl.ListFormat.prototype.formatToParts() method returns an Array of objects representing the different components that can be used to format a list of values in a locale-aware fashion.

Syntax

Intl.ListFormat.prototype.formatToParts(list)

Parameters

list
An Array of values to be formatted according to a locale.

Return value

An Array of components which contains the formatted parts from the list.

Description

Whereas Intl.ListFormat.prototype.format() returns a string being the formated version of the list (according to the given locale and style options), formatToParts() returns an array of the different components of the formated string.

Each element of the resulting array has two properties: type and value. The type property may be either "element", which refers to a value from the list, or "literal" which refers to a linguistic construct. The value property gives the content, as a string, of the token.

The locale and style options used for formatting are given when constructing the Intl.ListFormat instance.

Examples

Using formatToParts

const fruits = ['Apple', 'Orange', 'Pineapple'];
const myListFormat = new Intl.ListFormat('en-GB', { style: 'long', type: 'conjunction' });

console.table(myListFormat.formatToParts(fruits));
// [
//  { "type": "element", "value": "Apple" },
//  { "type": "literal", "value": ", " },
//  { "type": "element", "value": "Orange" },
//  { "type": "literal", "value": ", and " },
//  { "type": "element", "value": "Pineapple" }
// ]

Specifications

Specification
Intl.ListFormatThe definition of 'formatToParts()' in that specification.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js

formatToParts

Experimental'

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

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.

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.


See also