Преобразование строки в массив JavaScript: метод split()

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Если вам нужно преобразовать строку, содержащую разделители в виде запятых, в массив, примените к этой строке метод split(','):

JS
Скопировать код
let arr = "one,two,three".split(',');

В результате, arr будет массивом, составленным из следующих элементов: ['one', 'two', 'three'].

Кинга Идем в IT: пошаговый план для смены профессии

Объяснение метода split

Метод split() превращает строку в массив подстрок, разделяя исходную строку по указанному символу. Этот метод идеально подходит для обработки данных в формате CSV или других данных, где запятые используются в качестве разделителей.

Продвинутое применение split

Если в строке содержатся разные типы разделителей или присутствуют дополнительные пробелы, стоит использовать регулярные выражения вместе с split:

JS
Скопировать код
let data = "apple, banana, cherry";
let fruits = data.split(/\s*,\s*/);

Таким образом, fruits превращается в массив ["apple", "banana", "cherry"], игнорируя пробелы вокруг запятых.

Работа со строками, включающими числовые данные

Если ваши данные содержат числа, используйте метод split(), а затем метод map(Number), чтобы преобразовать их в числовые значения:

JS
Скопировать код
let numString = "1, 2, 3";
let numArray = numString.split(',').map(Number);

В итоге получается массив numArray со значениями [1, 2, 3].

Работа со сложными строками в формате JSON

При работе со сложными строками в формате JSON использовать метод JSON.parse(), в обязательном порядке убедитесь, что ваша строка соответствует синтаксису JSON:

JS
Скопировать код
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() может оказаться недостаточно. Давайте рассмотрим дополнительные трюки:

Обработка строк с специальными символами

Если в строке присутствуют специальные символы, например, кавычки, их стоит экранировать:

JS
Скопировать код
let specialString = "\"one\",\"two\",\"three\"";
let escapedArray = specialString.split(/","/).map(s => s.replace(/^"|"$/g, ''));

После этого escapedArray равен ["one", "two", "three"].

Подробнее об этом расскажет наш спикер на видео
skypro youtube speaker

Использование Array.from в ES6

Метод Array.from(), введенный в ES6, позволяет преобразовать объекты, похожие на массивы, или итерируемые объекты в настоящие массивы:

JS
Скопировать код
let charArray = Array.from("12345");

Таким образом, charArray становится ['1', '2', '3', '4', '5'].

Особенности JSON.parse

JSON.parse() очень эффективен при работе с JSON, но требует строгого соответствия формату:

JS
Скопировать код
let trickyString = "{ 'one': 1, 'two': 2 }".replace(/'/g, '\"');
let parsedObject = JSON.parse(trickyString);

Перед использованием метода замените все одинарные кавычки на двойные, иначе JSON.parse() вернет ошибку из-за некорректного формата JSON.

Полезные материалы

  1. Метод split() для строк в JavaScript — подробное изложение темы разделения строк на массивы.
  2. Справочник по методу map() для массивов в JavaScript | MDN — обзор преобразований массива при помощи метода map().
  3. Обрезка пробелов с использованием метода trim() для строк в JavaScript — основы работы с пробелами перед применением split().
  4. Array.from() – JavaScript | MDN — преобразование объектов, которые напоминают массивы, в реальные массивы.
  5. Руководство по регулярным выражениям в JavaScript | MDN — мастерство преобразования строк в массивы с использованием регулярных выражений.
  6. Как проверить, является ли переменная строкой в JavaScript – Stack Overflow — обмен опытом и знаниями разработчиков по вопросам работы со строками и их преобразования в массивы.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какой метод используется для преобразования строки в массив по запятой в JavaScript?
1 / 5