Segments.prototype.containing()
containing()
方法用于 Segments
实例,它返回一个对象,该对象描述了包含指定索引处的代码单元的字符串中的段。
试一试
语法
js
containing(codeUnitIndex)
参数
codeUnitIndex
可选-
一个数字,指定原始输入字符串中代码单元的索引。如果省略该值,则默认为
0
。
返回值
一个描述原始字符串段的对象,具有以下属性,或者如果提供的索引值超出范围,则为 undefined
。
segment
-
一个字符串,包含从原始输入字符串中提取的段。
index
-
原始输入字符串中段开始处的代码单元索引。
input
-
已分割的完整输入字符串。
isWordLike
-
只有当
granularity
为"word"
时,才是一个布尔值;否则为undefined
。如果granularity
为"word"
,则当段是类似单词的(即由字母/数字/象形文字等组成)时,isWordLike
为true
;否则为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 表仅在浏览器中加载