# Метод split

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

## Синтаксис

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

## Пример

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

`let str = 'ab-cd-ef'; let arr = str.split('-'); console.log(arr);`

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

`['ab', 'cd', 'ef']`

## Пример

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

`let str = 'ab-cd-ef'; let arr = str.split('-', 2); console.log(arr);`

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

`['ab', 'cd']`

## Пример

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

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

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

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

## Пример

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

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

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

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

## Пример

Давайте с помощью `split` разобьем строку с числами. Обратите внимание на то, что в результате получится массив строк, а не массив чисел:

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

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

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

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

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

`let str = '123456789'; let arr1 = str.split(''); let arr2 = arr1.reverse(); let res = arr2.join(''); console.log(res);`

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

`'987654321'`

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

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

`let str = '123456789'; let res = str.split('').reverse().join(''); console.log(res);`

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

`'987654321'`

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

Дана строка с цифрами. Найдем сумму цифр из этой строки. Для этого разобьем строку в массив, а затем переберем этот массив и найдем его сумму. Нас ждет подвох: `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`

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

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

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

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

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

## Смотрите также

- метод `join`,
  который сливает элементы массива в строку
- метод `split`,
  который разбивает строку по регулярке
- метод `reverse`,
  который изменяет порядок элементов в массиве на обратный
- свойство `length`,
  которые позволяет узнать длину строки

←→
↑
en ru