Книга: JavaScript. Подробное руководство, 6-е издание
7.12. Строки как массивы
7.12. Строки как массивы
В ECMAScript 5 (и во многих последних версиях броузеров, включая IE8, появившихся до выхода стандарта ECMAScript 5) строки своим поведением напоминают массивы, доступные только для чтения. Вместо метода charAt()
для обращения к отдельным символам можно использовать квадратные скобки:
var s = test;
s.charAt(0) // => "t"
s[1] // => "e"
Оператор typeof
для строк все так же возвращает «string», а если строку передать методу Array.isArray()
, он вернет false
.
Основное преимущество, которое дает поддержка индексирования строк, - это возможность заменить вызов метода charAt()
квадратными скобками и получить более краткий, удобочитаемый и, возможно, более эффективный программный код. Однако тот факт, что строки своим поведением напоминают массивы, означает также, что к ним могут применяться универсальные методы массивов. Например:
s = "JavaScript"
Array.prototype.join.call(s, " ") // => "J a v a S с r і p t"
Array.prototype.filter.call(s, // Фильтровать символы строки
function(x) {
return x.match(/[~aeiou]/); // Совпадение только с согласными
}).join("") // => "JvScrpt"
Имейте в виду, что строки являются неизменяемыми значениями, поэтому при работе с ними как с массивами их следует интерпретировать как массивы, доступные только для чтения. Такие методы массивов, как push(), sort(), reverse()
и splice(),
изменяют исходный массив и не будут работать со строками. Однако попытка изменить строку с помощью метода массива не вызовет ошибку: строка просто не изменится.
- 7.1. Создание массивов
- 7.2. Чтение и запись элементов массива
- 7.3. Разреженные массивы
- 7.4. Длина массива
- 7.5. Добавление и удаление элементов массива
- 7.6. Обход элементов массива
- 7.7. Многомерные массивы
- 7.8. Методы класса Array
- 7.9. Методы класса Array, определяемые стандартом ECMAScript 5
- 7.10. Тип Array
- 7.11. Объекты, подобные массивам
- 7.12. Строки как массивы
- Лекция 5. Строки, числа и массивы
- 4. Структуры данных: объекты и массивы
- Глава 5. Указатели и массивы
- Лекция 5. Списки и массивы
- ГЛАВА 7 Массивы и строки
- Лекция 5. Строки, числа и массивы
- 1.2.3. Константы, переменные и типы
- Стандарт типов данных
- Условия поиска
- Основы программирования на JavaScript
- Явное задание размера памяти
- Глава 2 Аргументы, опции и переменные окружения