Intl.ListFormat.prototype.formatToParts()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2021 browserübergreifend verfügbar.
Die Methode formatToParts() von Intl.ListFormat-Instanzen gibt ein Array von Objekten zurück, die jeweils einen Teil der formatierten Zeichenfolge darstellen, die format() zurückgeben würde. Sie ist nützlich, um aus gebietsschemaspezifischen Bestandteilen eigene Zeichenfolgen zu erstellen.
Probieren Sie es aus
const vehicles = ["Motorcycle", "Bus", "Car"];
const formatterEn = new Intl.ListFormat("en", {
style: "long",
type: "conjunction",
});
const formatterFr = new Intl.ListFormat("fr", {
style: "long",
type: "conjunction",
});
const partValuesEn = formatterEn.formatToParts(vehicles).map((p) => p.value);
const partValuesFr = formatterFr.formatToParts(vehicles).map((p) => p.value);
console.log(partValuesEn);
// Expected output: Array ["Motorcycle", ", ", "Bus", ", and ", "Car"]
console.log(partValuesFr);
// Expected output: Array ["Motorcycle", ", ", "Bus", " et ", "Car"]
Syntax
formatToParts(list)
Parameter
list-
Ein iterierbares Objekt, beispielsweise ein Array, das Zeichenfolgen enthält. Wird es weggelassen, wird ein leeres Array formatiert. Da dies etwas verwirrend sein kann, empfiehlt es sich, eine Liste immer ausdrücklich zu übergeben.
Rückgabewert
Ein Array von Objekten, die die formatierte Liste in Teilen enthalten. Jedes Objekt hat zwei Eigenschaften, type und value, die jeweils eine Zeichenfolge enthalten. Werden die value-Zeichenfolgen in der angegebenen Reihenfolge verkettet, ergibt sich dieselbe Zeichenfolge wie bei format(). type kann einen der folgenden Werte haben:
Beispiele
>formatToParts() verwenden
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" }
// ]
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2027 Internationalization API Specification> # sec-Intl.ListFormat.prototype.formatToParts> |