Intl.ListFormat.prototype.formatToParts()

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

Try it

Syntax

js
formatToParts(list)

Parameters

list

An iterable object, such as an Array, 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 formatted version of the list (according to the given locale and style options), formatToParts() returns an array of the different components of the formatted 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

js
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
ECMAScript Internationalization API Specification
# sec-Intl.ListFormat.prototype.formatToParts

Browser compatibility

BCD tables only load in the browser

See also