Метод split

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

Синтаксис

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

Пример

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

javascriptlet str = 'ab-cd-ef';
let arr = str.split('-');

console.log(arr);

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

javascript['ab', 'cd', 'ef']

Пример

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

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

console.log(arr);

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

javascript['ab', 'cd']

Пример

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

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

console.log(arr);

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

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

Пример

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

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

console.log(arr);

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

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

Пример

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

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

console.log(arr);

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

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

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

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

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

console.log(res);

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

javascript'987654321'

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

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

javascriptlet str = '123456789';
let res = str.split('').reverse().join('');

console.log(res);

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

javascript'987654321'

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

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

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

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

console.log(sum);

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

javascript15

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

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

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

console.log(arr);

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

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

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

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