JavaScript метод String.prototype.charAt()
Определение и применение
JavaScript метод charAt() возвращает символ по заданному индексу внутри строки. Индекс первого символа
равен нулю, а последнего рассчитывается как значение длины строки - 1 (length - 1).
Если метод используется без указания индекса элемента (без параметра), то используется значение по умолчанию равное нулю (возвращает первый символ в строке).
Индексы и длины здесь измеряются в кодовых единицах UTF-16. Например, "😀".length равно 2;
разрезание по индексу может разделить суррогатную пару. Исходная строка не изменяется.
Поддержка браузерами
Спецификация: ecma262
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
charAt | 1 | 12 | 1 | 3 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
JavaScript синтаксис
string.charAt(); // возвращается первый символ в строке
string.charAt( index );
Спецификация
ECMAScript: String.prototype.charAt()
Значения параметров
index — индекс кодовой единицы UTF-16, по умолчанию 0. Дробная часть отбрасывается. Вне диапазона
возвращается пустая строка.
Примеры, попробуйте сами
В примере «Индексы и выход за границы» показан результат вызова метода.
Индексы и выход за границы
Измените исходную строку или аргумент метода и сравните результат после запуска.
index.html
<html lang="ru">
<head>
<meta charset="UTF-8" />
<title>Индексы и выход за границы</title>
</head>
<body>
<p>Результат выполнения выводится в консоль.</p>
</body>
</html>
main.js
var x = 'string' // инициализируем переменную, содержащую строку
console.log(x.charAt()) // возвращаемое значение s (первый символ в строке)
console.log(x.charAt(1)) // возвращаемое значение t
console.log(x.charAt(3)) // возвращаемое i
console.log(x.charAt(-1)) // возвращаемое значение "" (пустая строка)
console.log(x.charAt(10)) // возвращаемое значение "" (пустая строка)
В следующем примере мы рассмотрим как с помощью метода charAt() подсчитать количество однотипных символов
в определенной строке.
В примере «Подсчёт заданной кодовой единицы» показан результат вызова метода.
Подсчёт заданной кодовой единицы
Измените исходную строку или аргумент метода и сравните результат после запуска.
index.html
<html lang="ru">
<head>
<meta charset="UTF-8" />
<title>Подсчёт заданной кодовой единицы</title>
</head>
<body>
<p>Результат выполнения выводится в консоль.</p>
</body>
</html>
main.js
var count = 0 // инициализируем переменную, которая будет выступать в роли счетчика
var charCount = function (char, someString) {
for (var i = 0; i < someString.length; i++) {
someString.charAt(i) == char ? count++ : false //проверяем содержится переданный символ по данному индексу, если да то инкрементируем переменную
}
console.log(count) // выводим значение переменной
count = 0 // присваиваем переменной значение 0
}
charCount('x', 'xxaxx') // результат 4