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

浏览器兼容性

另见