Meetod split
Meetod split jagab
stringid massiiviks määratud
esimese parameetri eraldaja järgi.
Kui seda pole määratud - tagastatakse kogu
string. Kui see on määratud tühjade jutumärkidena,
siis iga stringi sümbol lisatakse eraldi
massiivi elemendina. Teise valikulise
parameetriga saab määrata maksimaalse
elementide arvu saadud massiivis.
Süntaks
string.split([eraldaja], [maksimaalne elementide arv]);
Näide
Olgu antud mingi string sidekriipsudega. Jagame
selle stringi massiiviks eraldaja
'-' järgi:
let str = 'ab-cd-ef';
let arr = str.split('-');
console.log(arr);
Koodi täitmise tulemus:
['ab', 'cd', 'ef']
Näide
Jagame stringi uuesti eraldaja
'-' järgi, kuid teise parameetriga määrame
maksimaalse elementide arvu saadud
massiivis, näiteks 2. Sel juhul
kirjutatakse massiivi ainult 2 elementi:
let str = 'ab-cd-ef';
let arr = str.split('-', 2);
console.log(arr);
Koodi täitmise tulemus:
['ab', 'cd']
Näide
Kirjutame iga stringi sümboli eraldi massiivi elemendisse:
let str = 'abcde';
let arr = str.split('');
console.log(arr);
Koodi täitmise tulemus:
['a', 'b', 'c', 'd', 'e']
Näide
Kirjutame esimesed 3 stringi sümbolit
eraldi massiivi elementidesse:
let str = 'abcde';
let arr = str.split('', 3);
console.log(arr);
Koodi täitmise tulemus:
['a', 'b', 'c']
Näide
Jagame split abil
stringi numbritega. Pane tähele,
et tulemuseks on stringide massiiv,
mitte numbrite massiiv:
let str = '12345';
let arr = str.split('');
console.log(arr);
Koodi täitmise tulemus:
['1', '2', '3', '4', '5']
Näide . Rakendus
Pöörame stringi sümbolid vastupidises
järjekorras. Selleks jagame stringi massiiviks
kasutades split eraldajaga ''
(see asetab iga stringi sümboli eraldi
massiivi elemendisse), pöörame selle massiivi
ümber kasutades reverse
ja seejärel liidame pööratud massiivi uuesti
kokku kasutades join:
let str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let res = arr2.join('');
console.log(res);
Koodi täitmise tulemus:
'987654321'
Näide . Rakendus
Lihtsustame eelmise ülesande lahendust - liidame kõik käsud ahelaks:
let str = '123456789';
let res = str.split('').reverse().join('');
console.log(res);
Koodi täitmise tulemus:
'987654321'
Näide . Rakendus
Antud string numbritega. Leiame nende numbrite
summa sellest stringist. Selleks jagame stringi
massiiviks ja seejärel loeme selle massiivi läbi ning
leiame selle summa. Meid ootab lõks: split
tagastab stringid, seega summeerimisel
teisendame need stringid olevad numbrid päris numbriteks
kasutades 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);
Koodi täitmise tulemus:
15
Näide . Rakendus
Antud number. Kirjutame iga selle numbri
eraldi massiivi elemendisse.
Siin on lõks - split rakendub
ainult stringidele, aga meil on number. Teisendame
kõigepealt numbri stringiks kasutades String,
ja seejärel rakendame split:
let num = 12345;
let str = String(num);
let arr = str.split('');
console.log(arr);
Koodi täitmise tulemus:
['1', '2', '3', '4', '5']