Intl.ListFormat.prototype.formatToParts()

Intl.ListFormat.prototype.formatToParts() メソッドは、ロケールを意識した値のリストの書式化で使用できる様々な部分を表すオブジェクトの配列を返します。

構文

Intl.ListFormat.prototype.formatToParts(list)

引数

list
ロケールに従って書式化するための値の Array です。

返値

リストから書式された部品を含むコンポーネントの Array です。

解説

Intl.ListFormat.prototype.format() は、 (渡されたロケールとスタイルのオプションに応じて) リストの書式化された文字列を返すのに対し、 formatToParts() は、書式化されたされた文字列のさまざまなコンポーネントの配列を返します。

フォーマットに使用されるロケールとスタイルのオプションは、Intl.ListFormatインスタンスを構築する際に与えられます。結果として得られる配列の各要素には、 typevalue という 2 つのプロパティがあります。 type プロパティには、リストの値を表す "element" か、言語構造を表す "literal" のいずれかを指定します。 value プロパティは、トークンの内容を文字列で表したものです。

フォーマットに使用されるロケールとスタイルのオプションは、 Intl.ListFormat インスタンスを構築する際に与えられます。

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" }
// ]

仕様書

仕様書
Intl.ListFormat
formatToParts() の定義

ブラウザーの互換性

BCD tables only load in the browser

関連情報