Segments.prototype.containing()

基线 2024

新功能

2024 年 4 月起,此功能在最新设备和浏览器版本上均可使用。此功能可能在较旧的设备或浏览器上无法使用。

containing() 方法用于 Segments 实例,它返回一个对象,该对象描述了包含指定索引处的代码单元的字符串中的段。

试一试

语法

js
containing(codeUnitIndex)

参数

codeUnitIndex 可选

一个数字,指定原始输入字符串中代码单元的索引。如果省略该值,则默认为 0

返回值

一个描述原始字符串段的对象,具有以下属性,或者如果提供的索引值超出范围,则为 undefined

segment

一个字符串,包含从原始输入字符串中提取的段。

index

原始输入字符串中段开始处的代码单元索引。

input

已分割的完整输入字符串。

isWordLike

只有当 granularity"word" 时,才是一个布尔值;否则为 undefined。如果 granularity"word",则当段是类似单词的(即由字母/数字/象形文字等组成)时,isWordLiketrue;否则为 false

示例

js
// ┃0 1 2 3 4 5┃6┃7┃8┃9  ← code unit index
// ┃A l l o n s┃-┃y┃!┃   ← code unit
const input = "Allons-y!";

const segmenter = new Intl.Segmenter("fr", { granularity: "word" });
const segments = segmenter.segment(input);

let current = segments.containing();
// { index: 0, segment: "Allons", isWordLike: true }

current = segments.containing(4);
// { index: 0, segment: "Allons", isWordLike: true }

current = segments.containing(6);
// { index: 6, segment: "-", isWordLike: false }

current = segments.containing(current.index + current.segment.length);
// { index: 7, segment: "y", isWordLike: true }

current = segments.containing(current.index + current.segment.length);
// { index: 8, segment: "!", isWordLike: false }

current = segments.containing(current.index + current.segment.length);
// undefined

规范

规范
ECMAScript 国际化 API 规范
# sec-%segmentsprototype%.containing

浏览器兼容性

BCD 表仅在浏览器中加载

另请参阅