Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Обращение к отдельному символу в строке
К символу строки можно обратиться как к элементу массива. Достаточно указать его индекс в квадратных скобках. Нумерация начинается с нуля. Можно только получить символ по индексу, а вот изменить символ по индексу нельзя:
let str = 'Строка';
console.log( str[1] ); // т
Вместо квадратных скобок можно использовать метод charAt(<Индекс символа>)
:
let str = 'Строка';
console.log( str.charAt(0) ); // С
console.log( str.charAt(1) ); // т
Если указанный индекс отсутствует в строке, то при использовании квадратных скобок получим значение undefined
, а метод charAt()
вернет пустую строку:
let str = 'Строка';
console.log( str[6] ); // undefined
console.log( str.charAt(6) ); // <Пустая строка>
Метод charCodeAt(<Индекс символа>)
позволяет получить код символа в кодировке Unicode:
let str = 'Строка';
console.log( str.charCodeAt(0) ); // 1057
console.log( str.charCodeAt(1) ); // 1090
console.log( str.charCodeAt(6) ); // NaN
Строки поддерживают итерации, поэтому мы можем перебрать все символы в цикле:
for (const char of 'Строка') {
console.log(char);
}
Получить итератор из строки позволяет следующая инструкция:
let iterator = str[Symbol.iterator]();
Пример:
let str = 'str';
let iterator = str[Symbol.iterator]();
console.log( iterator.next().value ); // s
console.log( iterator.next().value ); // t
console.log( iterator.next().value ); // r
console.log( iterator.next().value ); // undefined
Можно также преобразовать строку в массив, в котором каждый элемент будет содержать только одну букву:
let arr = Array.from('Строка');
console.log(arr); // [ 'С', 'т', 'р', 'о', 'к', 'а' ]
Как вы уже знаете, строки в языке JavaScript являются последовательностями символов в кодировке UTF-16. На сегодняшний день 16-ти битов недостаточно для кодирования символов всех языков мира. Поэтому некоторые символы могут кодироваться 32-мя битами. Иными словами, один символ может кодироваться в строке двумя символами. Символы русского языка не попадают в диапазон этих значений, поэтому мы не станем рассматривать методы, предназначенные для работы с кодовыми точками. Однако знать об этом нужно. В случае необходимости вы всегда сможете найти описание этих методов в документации.
Помощь сайту
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов