Intl.ListFormat
Convert arrays to human-readable lists
const books = [
'Harry Potter',
'Bhagavad Gita',
'The Alchemist',
'Birthday Girl'
]
const listFormatter1 = new Intl.ListFormat('en', {
style: 'long',
type: 'conjunction'
})
console.log(listFormatter1.format(books));
// Harry Potter, Bhagavad Gita, The Alchemist, and Birthday Girl
const listFormatter2 = new Intl.ListFormat('en-GB', {
style: 'short',
type: 'disjunction'
})
console.log(listFormatter2.format(books));
// Harry Potter, Bhagavad Gita, The Alchemist, or Birthday Girl
The first part is to create the formatter using the
Intl.ListFormat
method. This method accepts two optional parameters.locales
- A string with a BCP 47 language tag, or an array of such strings.options
- An object with some or all of the following properties:localeMatcher
- The locale matching algorithm to use. Possible values arelookup
andbest fit
; the default isbest fit
.type
- The format of the output message. Possible values areconjunction
that stands for “and”-based lists (default, e.g., “A, B, and C”), ordisjunction
that stands for “or”-based lists (e.g., “A, B, or C”).unit
stands for lists of values with units (e.g., “5 pounds, 12 ounces”).style
- The length of the formatted message. Possible values are:long
(default, e.g., “A, B, and C”);short
(e.g., “A, B, C”), ornarrow
(e.g., “A B C”). When style isshort
ornarrow
,unit
is the only allowed value for the type option.
Last modified 1yr ago