Метод split JavaScript

Метод split осуществляет разбиение строки в массив по указанному разделителю.
Разделитель указывается первым необязательным параметром. Если он не задан - вернется вся строка. Если он задан как пустые кавычки '' - то каждый символ строки попадет в отдельный элемент массива.
Вторым необязательным параметром можно указать максимальное количество элементов в получившемся массиве (см. примеры).

Синтаксис

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

Пример 1

Пусть дана некоторая строка с дефисами. Давайте разобьем эту строку в массив по разделителю '-':

let str = 'html-css-javascript';
let arr = str.split('-');

console.log(arr);
// Результат выполнения кода:
['html', 'css', 'javascript']

Пример 2

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

let str = 'html-css-javascript';
let arr = str.split('-', 2);

console.log(arr);
// Результат выполнения кода:
['html', 'css']

Пример 3

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

let str = 'abcde';
let arr = str.split('');

console.log(arr);
// Результат выполнения кода:
['a', 'b', 'c', 'd', 'e']

Пример 4

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

let str = 'abcde';
let arr = str.split('', 3);

console.log(arr);
// Результат выполнения кода:
['a', 'b', 'c']

Пример 5

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

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

console.log(arr);
// Результат выполнения кода:
['1', '2', '3', '4', '5']

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

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

let str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let result = arr2.join('');

console.log(result);
// Результат выполнения кода:
'987654321'

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

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

let str = '123456789';

let result = str.split('').reverse().join('');
console.log(result);
// Результат выполнения кода:
'987654321'

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

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

let str = '12345';
let arr = str.split('');
let sum = 0;

for (let i = 0; i < arr.length; i++) { sum += Number(arr[i]); } console.log(sum); // Результат выполнения кода: 15

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

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

let num = 12345;
let str = String(num);
let arr = str.split('');

console.log(arr);
// Результат выполнения кода:
['1', '2', '3', '4', '5']

Обсуждение закрыто.