Spec-Zone.ru › JavaScript

Segments.prototype.containing()

Базовый уровень Недавно доступно

Эта функция работает на новейших устройствах и версиях браузеров. Эта функция может не работать на старых устройствах или версиях браузеров. Она доступна в браузерах с апреля 2024 года.

Метод 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}

Синтаксис

containing(codeUnitIndex)

Параметры

codeUnitIndex Необязательный
Число, определяющее индекс кодовой единицы в исходной входной строке. Если значение опущено, по умолчанию используется 0.

Возвращаемое значение

Объект, описывающий сегмент исходной строки со следующими свойствами, или undefined, если предоставленное значение индекса выходит за допустимые пределы.

segment
Строка, содержащая сегмент, извлеченный из исходной входной строки.
index
Индекс кодовой единицы в исходной входной строке, с которого начинается сегмент.
input
Полная входная строка, которая была сегментирована.
isWordLike
Логическое значение, только если granularity равно "word"; в противном случае — undefined. Если granularity равно "word", то isWordLike равно true, если сегмент является "похожим на слово" (т.е. состоит из букв/цифр/идеографов/и т. д.); в противном случае — false.

Примеры

// ┃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® 2027 Internationalization API Specification
# sec-%intlsegmentsprototype%.containing

Совместимость с браузерами

Настольные компьютеры Мобильные устройства Сервер
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
containing
87
87
125
73
14.1
87
125
62
14.5
14.0
87
14.5
1.0.0
1.8
16.0.0

См. также

  • Intl.Segmenter
  • Intl.Segmenter.prototype.segment()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter/segment/Segments/containing

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API