Intl.PluralRules.prototype.resolvedOptions()

Baseline 已廣泛支援

此功能已成熟,並可在多種裝置和瀏覽器版本上使用。自 2019 年 9 月以來,它已在各種瀏覽器中可用。

resolvedOptions() 方法是 Intl.PluralRules 例項的一個方法,它返回一個新物件,其中包含在初始化此 PluralRules 物件期間計算的選項屬性。

試一試

const pluralRules1 = new Intl.PluralRules("uk");
const options1 = pluralRules1.resolvedOptions();

const pluralRules2 = new Intl.PluralRules("bn");
const options2 = pluralRules2.resolvedOptions();

console.log(options1.pluralCategories);
// Expected output: Array ["few", "many", "one", "other"]

console.log(options2.pluralCategories);
// Expected output: Array ["one", "other"]

語法

js
resolvedOptions()

引數

無。

返回值

返回一個新物件,其中包含在初始化此 PluralRules 物件期間計算的選項屬性。該物件具有以下屬性,按列出順序排列:

locale

區域設定協商過程確定的實際使用的區域設定的 BCP 47 語言標記。輸出中不包含 Unicode 擴充套件鍵。

type

options 引數中為此屬性提供的值,並根據需要填充了預設值。它可以是 "cardinal"(基數)或 "ordinal"(序數)。預設值為 "cardinal"

minimumIntegerDigitsminimumFractionDigitsmaximumFractionDigits 可選

options 引數中為此類屬性提供的值,並根據需要填充了預設值。僅當在 options 引數中既未提供 minimumSignificantDigits 也未提供 maximumSignificantDigits 時,才存在這些屬性。

minimumSignificantDigitsmaximumSignificantDigits 可選

options 引數中為此類屬性提供的值,並根據需要填充了預設值。僅當在 options 引數中至少提供了一個此類屬性時,才存在這些屬性。

pluralCategories

給定區域設定使用的複數類別的 Array,從列表 "zero""one""two""few""many""other" 中選擇。

roundingIncrement

options 引數中為此屬性提供的值,並根據需要填充了預設值。它是以下值之一:125102025501002002505001000200025005000。預設值為 1

roundingMode

options 引數中為此屬性提供的值,並根據需要填充了預設值。它是以下值之一:"ceil"(向上取整)、"floor"(向下取整)、"expand"(擴充套件)、"trunc"(截斷)、"halfCeil"(半向上取整)、"halfFloor"(半向下取整)、"halfExpand"(半擴充套件)、"halfTrunc"(半截斷)和 "halfEven"(半偶數)。預設值為 "halfExpand"

roundingPriority

options 引數中為此屬性提供的值,並根據需要填充了預設值。它可以是 "auto"(自動)、"morePrecision"(更高精度)或 "lessPrecision"(更低精度)。預設值為 "auto"

trailingZeroDisplay

options 引數中為此屬性提供的值,並根據需要填充了預設值。它可以是 "auto"(自動)或 "stripIfInteger"(如果為整數則刪除)。預設值為 "auto"

示例

使用 resolvedOptions() 方法

下面的程式碼顯示了 PluralRules 物件的構造,然後記錄了每個解析後的選項。

js
// Create a PluralRules instance
const de = new Intl.PluralRules("de-DE", {
  maximumSignificantDigits: 2,
  trailingZeroDisplay: "auto",
});

// Resolve the options
const usedOptions = de.resolvedOptions();
console.log(usedOptions.locale); // "de-DE"
console.log(usedOptions.pluralCategories); // Array ["one", "other"]
console.log(usedOptions.type); // "cardinal"
console.log(usedOptions.minimumIntegerDigits); // 1
console.log(usedOptions.minimumFractionDigits); // undefined (maximumSignificantDigits is set)
console.log(usedOptions.maximumFractionDigits); // undefined (maximumSignificantDigits is set)
console.log(usedOptions.minimumSignificantDigits); // 1
console.log(usedOptions.maximumSignificantDigits); // 2
console.log(usedOptions.roundingIncrement); // 1
console.log(usedOptions.roundingMode); // "halfExpand"
console.log(usedOptions.roundingPriority); // "auto"
console.log(usedOptions.trailingZeroDisplay); // "auto"

規範

規範
ECMAScript® 2026 國際化 API 規範
# sec-intl.pluralrules.prototype.resolvedoptions

瀏覽器相容性

另見