Metoda split
Metoda split dzieli
ciąg znaków na tablicę według określonego
w pierwszym parametrze separatora.
Jeśli nie jest podany - zwrócony zostanie cały
ciąg. Jeśli jest podany jako puste cudzysłowy,
wówczas każdy znak ciągu trafi do osobnego
elementu tablicy. Drugim opcjonalnym
parametrem można określić maksymalną
liczbę elementów w wynikowej tablicy.
Składnia
ciąg.split([separator], [maksymalna liczba elementów]);
Przykład
Niech będzie dany pewien ciąg znaków z myślnikami. Podzielmy
ten ciąg na tablicę według separatora
'-':
let str = 'ab-cd-ef';
let arr = str.split('-');
console.log(arr);
Wynik wykonania kodu:
['ab', 'cd', 'ef']
Przykład
Podzielmy ponownie ciąg znaków według separatora
'-', jednak jako drugi parametr podajmy
maksymalną liczbę elementów w wynikowej
tablicy, na przykład 2. W tym przypadku do
tablicy zapiszą się tylko 2 elementy:
let str = 'ab-cd-ef';
let arr = str.split('-', 2);
console.log(arr);
Wynik wykonania kodu:
['ab', 'cd']
Przykład
Zapiszmy każdy znak ciągu w osobnym elemencie tablicy:
let str = 'abcde';
let arr = str.split('');
console.log(arr);
Wynik wykonania kodu:
['a', 'b', 'c', 'd', 'e']
Przykład
Zapiszmy pierwsze 3 znaki ciągu
w osobnych elementach tablicy:
let str = 'abcde';
let arr = str.split('', 3);
console.log(arr);
Wynik wykonania kodu:
['a', 'b', 'c']
Przykład
Podzielmy za pomocą split
ciąg znaków z liczbami. Zwróć uwagę na to,
że w wyniku otrzymamy tablicę ciągów znaków,
a nie tablicę liczb:
let str = '12345';
let arr = str.split('');
console.log(arr);
Wynik wykonania kodu:
['1', '2', '3', '4', '5']
Przykład . Zastosowanie
Odwróćmy znaki ciągu w odwrotnej
kolejności. W tym celu podzielmy ciąg na tablicę
za pomocą split według separatora ''
(umieści to każdy znak ciągu w osobnym
elemencie tablicy), odwróćmy tę tablicę
za pomocą reverse
a następnie połączmy odwróconą tablicę z powrotem
za pomocą join:
let str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let res = arr2.join('');
console.log(res);
Wynik wykonania kodu:
'987654321'
Przykład . Zastosowanie
Uprośćmy rozwiązanie poprzedniego zadania - połączmy wszystkie polecenia w łańcuch:
let str = '123456789';
let res = str.split('').reverse().join('');
console.log(res);
Wynik wykonania kodu:
'987654321'
Przykład . Zastosowanie
Dany jest ciąg znaków z cyframi. Znajdźmy sumę cyfr
z tego ciągu. W tym celu podzielmy ciąg
na tablicę, a następnie przeiterujmy tę tablicę i
znajdźmy jej sumę. Czai się pułapka: split
zwraca ciągi znaków, więc podczas sumowania
przekształćmy te cyfry-ciągi na prawdziwe
liczby za pomocą 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);
Wynik wykonania kodu:
15
Przykład . Zastosowanie
Dana jest liczba. Zapiszmy każdą cyfrę
tej liczby w osobnym elemencie tablicy.
Jest tu haczyk - split stosuje się
tylko do ciągów znaków, a my mamy liczbę. Przekształćmy
najpierw liczbę na ciąg znaków za pomocą String,
a następnie zastosujmy split:
let num = 12345;
let str = String(num);
let arr = str.split('');
console.log(arr);
Wynik wykonania kodu:
['1', '2', '3', '4', '5']