split() разбивает строку на массив по разделителю.
Это один из самых частых методов для работы со строками, когда нужно получить список слов, значений, частей пути или элементов из текста.
Синтаксис
str.split(separator)
str.split(separator, limit)
Где:
separator- строка или регулярное выражение, по которому нужно делить строкуlimit- максимальное количество элементов в результате
Метод возвращает массив.
Как работает split()
const text = "a,b,c";
console.log(text.split(",")); // ["a", "b", "c"]
Метод находит разделитель и разбивает строку на части.
Разделитель как строка
Чаще всего split() используют со строкой.
const text = "red,green,blue";
console.log(text.split(",")); // ["red", "green", "blue"]
Так можно делить строку по запятой, пробелу, тире и любому другому текстовому разделителю.
console.log("2025-03-18".split("-")); // ["2025", "03", "18"]
Разделитель как регулярное выражение
split() умеет работать и с регулярными выражениями.
const text = "one, two; three";
console.log(text.split(/[,\s;]+/)); // ["one", "two", "three"]
Это удобно, когда строку нужно делить по нескольким возможным разделителям сразу.
Если разделитель не найден
Если разделитель в строке не найден, результатом будет массив из одного элемента - исходной строки.
const text = "hello";
console.log(text.split(",")); // ["hello"]
Если разделитель пустая строка
Если передать "", строка разобьётся на отдельные символы.
console.log("hello".split("")); // ["h", "e", "l", "l", "o"]
Это бывает полезно, но для Unicode-символов вроде некоторых emoji такой подход не всегда идеален.
Аргумент limit
Во втором аргументе можно указать максимальное количество элементов.
const text = "a,b,c,d";
console.log(text.split(",", 2)); // ["a", "b"]
Это полезно, если нужна только часть результата.
Исходная строка не меняется
Строки в JavaScript неизменяемы, поэтому split() не меняет исходное значение.
const text = "a,b,c";
const result = text.split(",");
console.log(text); // "a,b,c"
console.log(result); // ["a", "b", "c"]
Когда это полезно
split() удобно использовать, когда:
- нужно разбить строку на массив
- текст содержит разделители вроде запятых, пробелов или слэшей
- нужно подготовить строку к дальнейшей обработке
Пример:
const tags = "js,html,css";
console.log(tags.split(",")); // ["js", "html", "css"]
const path = "users/profile/settings";
console.log(path.split("/")); // ["users", "profile", "settings"]
split() и join()
split() часто используют вместе с join().
const text = "a-b-c";
const result = text.split("-").join("_");
console.log(result); // "a_b_c"
split() разбивает строку на массив, а join() собирает массив обратно в строку.
Частые ошибки
Ожидать строку вместо массива
const text = "a,b,c";
console.log(text.split(",")); // ["a", "b", "c"]
split() возвращает не строку, а массив.
Забывать, что limit ограничивает количество элементов
const text = "a,b,c,d";
console.log(text.split(",", 2)); // ["a", "b"]
Остальная часть строки в результат уже не попадёт.
Думать, что split("") всегда безопасно делит на символы
console.log("hello".split("")); // ["h", "e", "l", "l", "o"]
Для простого ASCII-текста это нормально, но с некоторыми Unicode-символами результат может быть не таким, как ожидается.
Быстрая памятка
split(separator)разбивает строку на массив- разделителем может быть строка или регулярное выражение
- если разделитель не найден, будет массив с исходной строкой
split("", ...)делит строку на отдельные символыlimitограничивает число элементов результата
Коротко
split() - это метод строки в JavaScript, который разбивает строку на массив по разделителю. Он особенно удобен, когда нужно превратить текст в список значений для дальнейшей обработки.