Преобразование строки в массив JavaScript: метод split()
Быстрый ответ
Если вам нужно преобразовать строку, содержащую разделители в виде запятых, в массив, примените к этой строке метод split(','):
let arr = "one,two,three".split(',');
В результате, arr будет массивом, составленным из следующих элементов: ['one', 'two', 'three'].

Объяснение метода split
Метод split() превращает строку в массив подстрок, разделяя исходную строку по указанному символу. Этот метод идеально подходит для обработки данных в формате CSV или других данных, где запятые используются в качестве разделителей.
Продвинутое применение split
Если в строке содержатся разные типы разделителей или присутствуют дополнительные пробелы, стоит использовать регулярные выражения вместе с split:
let data = "apple, banana, cherry";
let fruits = data.split(/\s*,\s*/);
Таким образом, fruits превращается в массив ["apple", "banana", "cherry"], игнорируя пробелы вокруг запятых.
Работа со строками, включающими числовые данные
Если ваши данные содержат числа, используйте метод split(), а затем метод map(Number), чтобы преобразовать их в числовые значения:
let numString = "1, 2, 3";
let numArray = numString.split(',').map(Number);
В итоге получается массив numArray со значениями [1, 2, 3].
Работа со сложными строками в формате JSON
При работе со сложными строками в формате JSON использовать метод JSON.parse(), в обязательном порядке убедитесь, что ваша строка соответствует синтаксису JSON:
let jsonString = '["one", "two", "three"]';
let jsonArr = JSON.parse(jsonString);
В результате, jsonArr превращается в ["one", "two", "three"].
Визуализация
Вот как можно визуализировать процесс преобразования строки в массив с помощью запятых:
Исходная строка (🍯): "vanilla,chocolate,strawberry,banana"
Применяем split(','):
| Исходная строка 🍯 | Новый массив 🍬 |
|---|---|
| "vanilla,chocolate, | ["vanilla", "chocolate", |
| strawberry,banana" | "strawberry", "banana"] |
Каждая запятая свидетельствует о начале нового элемента в массиве:
🍯 ➡️ 🍬 ➡️ ["vanilla", "chocolate", "strawberry", "banana"]
Продвинутые техники разбиения и преобразования
В некоторых случаях простого применения split() может оказаться недостаточно. Давайте рассмотрим дополнительные трюки:
Обработка строк с специальными символами
Если в строке присутствуют специальные символы, например, кавычки, их стоит экранировать:
let specialString = "\"one\",\"two\",\"three\"";
let escapedArray = specialString.split(/","/).map(s => s.replace(/^"|"$/g, ''));
После этого escapedArray равен ["one", "two", "three"].
Использование Array.from в ES6
Метод Array.from(), введенный в ES6, позволяет преобразовать объекты, похожие на массивы, или итерируемые объекты в настоящие массивы:
let charArray = Array.from("12345");
Таким образом, charArray становится ['1', '2', '3', '4', '5'].
Особенности JSON.parse
JSON.parse() очень эффективен при работе с JSON, но требует строгого соответствия формату:
let trickyString = "{ 'one': 1, 'two': 2 }".replace(/'/g, '\"');
let parsedObject = JSON.parse(trickyString);
Перед использованием метода замените все одинарные кавычки на двойные, иначе JSON.parse() вернет ошибку из-за некорректного формата JSON.
Полезные материалы
- Метод split() для строк в JavaScript — подробное изложение темы разделения строк на массивы.
- Справочник по методу map() для массивов в JavaScript | MDN — обзор преобразований массива при помощи метода
map(). - Обрезка пробелов с использованием метода trim() для строк в JavaScript — основы работы с пробелами перед применением
split(). - Array.from() – JavaScript | MDN — преобразование объектов, которые напоминают массивы, в реальные массивы.
- Руководство по регулярным выражениям в JavaScript | MDN — мастерство преобразования строк в массивы с использованием регулярных выражений.
- Как проверить, является ли переменная строкой в JavaScript – Stack Overflow — обмен опытом и знаниями разработчиков по вопросам работы со строками и их преобразования в массивы.


