Метод split в JavaScript
Метод split
осуществляет разбиение строки в массив по указанному разделителю. Разделитель указывается первым необязательным параметром. Если он не задан - вернется вся строка. Если он задан как пустые кавычки ''
- то каждый символ строки попадет в отдельный элемент массива. Вторым необязательным параметром можно указать максимальное количество элементов в получившемся массиве.
Синтаксис
строка.split([разделитель], [максимальное количество элементов])
Пример
Пусть дана некоторая строка с дефисами. Давайте разобьем эту строку в массив по разделителю -
:
let str = 'html-css-javascript';
let arr = str.split('-');
console.log(arr); // ['html', 'css', 'javascript']
Пример
Давайте опять разобьем строку по разделителю -
, однако вторым параметром укажем максимальное количество элементов в получившемся массиве, например 2
.
let str = 'html-css-javascript';
let arr = str.split('-', 2);
console.log(arr); // ['html', 'css']
Пример
Давайте каждый символ строки запишем в отдельный элемент массива:
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
разбивается строка с числами. Обратите внимание на то, что в результате получится массив строк ['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']
Пример
Давайте перевернем символы строки в обратном порядке. Для этого разобьем строку в массив с помощью split
по разделителю ''
(это разместит каждый символ строки в отдельный элемент массива), перевернем этот массив с помощью reverse и затем сольем перевернутый массив обратно с помощью join
:
let str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let result = arr2.join('');
console.log(result); // 987654321
Пример
Упростим решение предыдущей задачи - сольем все команды в цепочку:
let str = '123456789';
let result = str.split('').reverse().join('');
console.log(result); // 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']