Segments.prototype.containing()
Baseline 2024Newly 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
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; andernfallsundefined
. Wenngranularity
"word"
ist, dann istisWordLike
true
, wenn das Segment einem Wort ähnelt (d.h. aus Buchstaben/Ziffern/Ideogrammen/usw. besteht); andernfallsfalse
.
Beispiele
// ┃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