Metod split
Metod split razbija
string u niz prema separatoru
koji je naveden u prvom parametru.
Ako nije naveden - vratiće se ceo
string. Ako je naveden kao prazan navodnik,
tada će svaki karakter stringa biti u posebnom
elementu niza. U drugom opcionom
parametru može se navesti maksimalni
broj elemenata u rezultujućem nizu.
Sintaksa
string.split([separator], [maksimalni broj elemenata]);
Primer
Neka je dat određeni string sa crticama. Hajde da
razbijemo taj string u niz prema separatoru
'-':
let str = 'ab-cd-ef';
let arr = str.split('-');
console.log(arr);
Rezultat izvršavanja koda:
['ab', 'cd', 'ef']
Primer
Hajde ponovo da razbijemo string prema separatoru
'-', međutim drugim parametrom navedimo
maksimalni broj elemenata u rezultujućem
nizu, na primer, 2. U ovom slučaju u
niz će biti upisana samo 2 elementa:
let str = 'ab-cd-ef';
let arr = str.split('-', 2);
console.log(arr);
Rezultat izvršavanja koda:
['ab', 'cd']
Primer
Hajde da svaki karakter stringa upišemo u poseban element niza:
let str = 'abcde';
let arr = str.split('');
console.log(arr);
Rezultat izvršavanja koda:
['a', 'b', 'c', 'd', 'e']
Primer
Hajde da prva 3 karaktera stringa upišemo
u posebne elemente niza:
let str = 'abcde';
let arr = str.split('', 3);
console.log(arr);
Rezultat izvršavanja koda:
['a', 'b', 'c']
Primer
Hajde da pomoću split razbijemo
string sa brojevima. Obratite pažnju na to,
da će rezultat biti niz stringova,
a ne niz brojeva:
let str = '12345';
let arr = str.split('');
console.log(arr);
Rezultat izvršavanja koda:
['1', '2', '3', '4', '5']
Primer . Primena
Hajde da obrnemo karaktere stringa u obrnutom
redosledu. Za to ćemo razbiti string u niz
pomoću split prema separatoru ''
(to će svaki karakter stringa smestiti u poseban
element niza), obrnuti taj niz
pomoću reverse
i zatim spojiti obrnuti niz nazad
pomoću join:
let str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let res = arr2.join('');
console.log(res);
Rezultat izvršavanja koda:
'987654321'
Primer . Primena
Pojednostavimo rešenje prethodnog zadatka - spojimo sve komande u lanac:
let str = '123456789';
let res = str.split('').reverse().join('');
console.log(res);
Rezultat izvršavanja koda:
'987654321'
Primer . Primena
Dat je string sa ciframa. Nađimo sumu cifara
iz ovog stringa. Za to ćemo razbiti string
u niz, a zatim proći kroz ovaj niz i
naći njegovu sumu. Čeka nas zamka: split
vraća stringove, stoga prilikom sabiranja
pretvorimo ove cifre-stringove u prave
brojeve pomoću 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);
Rezultat izvršavanja koda:
15
Primer . Primena
Dat je broj. Hajde da upišemo svaku cifru
ovog broja u poseban element niza.
Ovde ima zamke - split primenjuje se
samo na stringove, a mi imamo broj. Pretvorimo
prvo broj u string pomoću String,
a zatim primenimo split:
let num = 12345;
let str = String(num);
let arr = str.split('');
console.log(arr);
Rezultat izvršavanja koda:
['1', '2', '3', '4', '5']