Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
js_exams.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
359 Кб
Скачать
☆

Изменения строк

Содержимое строки в JavaScript нельзя изменять. Нельзя взять символ посередине и заменить его. Как только строка создана – она такая навсегда.

Можно лишь создать целиком новую строку и присвоить в переменную вместо старой, например:

let str = "строка";

str = str[3] + str[4] + str[5];

alert( str ); // ока

Смена регистра

Методы toLowerCase() и toUpperCase() меняют регистр строки на нижний/верхний:

"Интерфейс".toUpperCase(); // ИНТЕРФЕЙС

Пример ниже получает первый символ и приводит его к нижнему регистру:

"Интерфейс" [0].toLowerCase(); // 'и'

Поиск подстроки

indexOf( searchString: string, fromIndex?: number )

- возвращает позицию, на которой находится подстрока или -1, если ничего не найдено. Например:

'test text'.indexOf( 't' ) // 0

'test text'.indexOf( 't', 1 ) // 3

'test text'.indexOf( 'te', 1 ) // 5

'test text'.indexOf( 'z' ) // -1

lastIndexOf( searchString: string, toIndex?: number )

— находит последнее вхождение подстроки `searchString` в строке до позиции `toIndex` (0..длина), если указана, иначе — до конца строки. Возвращается позиция первого символа (от нуля), или «-1», если вхождения нет.

'test text'.lastIndexOf( 't' ) // 8

'test text'.lastIndexOf( 't', 7 ) // 5

'test text'.lastIndexOf( 'te' ) // 5

'test text'.lastIndexOf( 'z' ) // -1

includes( searchString: string, position?: number ): Boolean

— проверяет вхождение подстроки `searchString` в строке, начиная от позиции `position` (0..длина), если указана, иначе — с начала строки. Возвращает `true`, если подстрока найдена, иначе — `false`.

'test text'.includes( 't' ) // true

'test text'.includes( 'st' ) // true

'test text'.includes( 'st', 3 ) // false

'test text'.includes( 'z' ) // false

endsWith( searchString: string, endPosition?: number ): Boolean

— проверяет, что строка завершается подстрокой `searchString`. Если указано `endPosition`, то строка считается данной длины, иначе поиск идёт до конца строки.

'test text'.endsWith( 't' ) // true

'test text'.endsWith( 'x' ) // false

'test text'.endsWith( 'st', 4 ) // true

'test text'.endsWith( 'st', 5 ) // false

Взятие подстроки: substr, substring, slice

В JavaScript существуют целых 3 метода для взятия подстроки, с небольшими отличиями между ними.

substring(start [, end])

- возвращает подстроку с позиции start до, но не включая end. Если аргумент end отсутствует, то идет до конца строки.

‘stringify’.substring(0,1)); // "s"

‘stringify’.substring(2)); // "ringify"

substr(start [, length])

- первый аргумент имеет такой же смысл, как и в substring, а второй содержит не конечную позицию, а количество символов. Если второго аргумента нет – подразумевается «до конца строки».

‘stringify’.substr(2,4); // ring

slice(start [, end])

- возвращает часть строки от позиции start до, но не включая, позиции end.

Отрицательные аргументы

Различие между substring и slice – в том, как они работают с отрицательными и выходящими за границу строки аргументами:

substring(start, end)

Отрицательные аргументы интерпретируются как равные нулю. Слишком большие значения усекаются до длины строки:

"testme".substring(-2); // "testme", -2 становится 0

Кроме того, если start > end, то аргументы меняются местами, т.е. возвращается участок строки между start и end:

"testme".substring(4, -1); // "test"

// -1 становится 0 -> получили substring(4, 0)

// 4 > 0, так что аргументы меняются местами -> substring(0, 4) = "test"

slice(start [, end])

Отрицательные значения отсчитываются от конца строки:

"testme".slice(-2); // "me", от 2 позиции с конца

"testme".slice(1, -1); // "estm", от 1 позиции до первой с конца.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]