Метод split осуществляет разбиение строки в массив по указанному разделителю.

Разделитель указывается первым необязательным параметром. Если он не задан - вернется вся строка. Если он задан как пустые кавычки '' - то каждый символ строки попадет в отдельный элемент массива.

Вторым необязательным параметром можно указать максимальное количество элементов в получившемся массиве (см. примеры).

См. также метод join, который сливает элементы массива в строку.

Синтаксис

строка.split([разделитель], [максимальное количество элементов]);

Примеры

Пример

В данном примере строка разбита по разделителю '-'. В результате получится следующий массив arr:

var str = 'Мне-очень-нравится-JavaScript';
var arr = str.split('-');
console.log(arr);

Результат выполнения кода:

['Мне', 'очень', 'нравится', 'JavaScript']

Пример

В данном примере строка также разбита по разделителю '-', однако вторым параметром указано максимальное количество элементов в получившемся массиве (2 элемента). Поэтому в новый массив запишется только 2 элемента:

var str = 'Мне-очень-нравится-JavaScript';
var arr = str.split('-', 2);
console.log(arr);

Результат выполнения кода:

['Мне', 'очень']

Пример

Давайте каждый символ строки запишем в отдельный элемент массива:

var str = 'abcde';
var arr = str.split('');
console.log(arr);

Результат выполнения кода:

['a', 'b', 'c', 'd', 'e']

Пример

Давайте первые 3 символа строки запишем в отдельный элемент массива:

var str = 'abcde';
var arr = str.split('', 3);
console.log(arr);

Результат выполнения кода:

['a', 'b', 'c']

Пример

Сейчас с помощью split разбивается строка с числами. Обратите внимание на то, что в результате получится массив строк ['1', '2', '3', '4', '5'], а не массив чисел [1, 2, 3, 4, 5]:

var str = '12345';
var arr = str.split('');
console.log(arr);

Результат выполнения кода:

['1', '2', '3', '4', '5']

Пример . Применение

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

var str = '123456789';
var arr = str.split('');
var arr = arr.reverse();
var result = arr.join('');
document.write(result);

Результат выполнения кода:

987654321

Пример . Применение

Упростим решение предыдущей задачи - сольем все команды в цепочку:

var str = '123456789';
var result = str.split('').reverse().join('');
document.write(result);

Результат выполнения кода:

987654321

Пример . Применение

Дана строка с цифрами. Найдем сумму цифр из этой строки. Для этого разобьем строку в массив, а затем переберем этот массив и найдем его сумму. Нас ждет подвох: split возвращает строки, поэтому при суммировании преобразуем эти цифры-строки в настоящие числа с помощью Number:

var str = '12345';
var arr = str.split('');

var sum = 0;for (var i = 0; i <= arr.length; i++) {
	sum += Number(arr[i]);
}

document.write(sum);

Результат выполнения кода:

15

Пример . Применение

Дано число. Давайте запишем каждую цифру этого числа в отдельный элемент массива. Тут есть подвох - split применяется только к строкам, а у нас число. Преобразуем вначале число к строке с помощью String, а затем применим split:

var num = 12345;
var str = String(num);
var arr = str.split('');
console.log(arr);

Результат выполнения кода:

['1', '2', '3', '4', '5']