Segments.prototype.containing()

Baseline 2024
新推出

自 ⁨2024 年 4 月⁩ 起,此功能可在最新的裝置和瀏覽器版本中執行。此功能可能不適用於較舊的裝置或瀏覽器。

containing() 方法是 Segments 例項的一個方法,它返回一個描述字串中包含指定索引程式碼單元的片段的物件。

試一試

const segmenterFr = new Intl.Segmenter("fr", { granularity: "word" });
const string = "Que ma joie demeure";

const segments = segmenterFr.segment(string);

console.log(segments.containing(5));
// Expected output:
// Object {segment: 'ma', index: 4, input: 'Que ma joie demeure', isWordLike: true}

語法

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® 2026 國際化 API 規範
# sec-%segmentsprototype%.containing

瀏覽器相容性

另見