Intl.ListFormat.prototype.formatToParts()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.
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
formatToParts(list)
Parameters
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
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