Segments.prototype.containing()

Baseline 2024
Newly available

Since April 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Die containing() Methode der Instanzen von Segments gibt ein Objekt zurück, das das Segment in der Zeichenkette beschreibt, das die Codeeinheit am angegebenen Index enthält.

Probieren Sie es aus

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

const segments = segmenterFr.segment(string1);

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

Syntax

js
containing(codeUnitIndex)

Parameter

codeUnitIndex Optional

Eine Zahl, die den Index der Codeeinheit in der ursprünglichen Eingabezeichenkette angibt. Wenn der Wert weggelassen wird, ist der Standardwert 0.

Rückgabewert

Ein Objekt, das das Segment der ursprünglichen Zeichenkette mit den folgenden Eigenschaften beschreibt, oder undefined, wenn der angegebene Indexwert außerhalb des gültigen Bereichs liegt.

segment

Ein String, der das aus der ursprünglichen Eingabezeichenkette extrahierte Segment enthält.

index

Der Codeeinheit-Index in der ursprünglichen Eingabezeichenkette, an dem das Segment beginnt.

input

Die vollständige Eingabezeichenkette, die segmentiert wurde.

isWordLike

Ein boolescher Wert nur, wenn granularity "word" ist; andernfalls undefined. Wenn granularity "word" ist, dann ist isWordLike true, wenn das Segment einem Wort ähnelt (d.h. aus Buchstaben/Ziffern/Ideogrammen/usw. besteht); andernfalls false.

Beispiele

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

Spezifikationen

Specification
ECMAScript® 2025 Internationalization API Specification
# sec-%segmentsprototype%.containing

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch