split-metodi
split-metodi jakaa
merkkijonot taulukkoon määritetyn
erottimen perusteella ensimmäisessä parametrissa.
Jos sitä ei ole määritetty, palautetaan koko
merkkijono. Jos se on määritetty tyhjinä lainausmerkkeinä,
jokainen merkkijonon merkki tulee erilliseksi
taulukon elementiksi. Toisella valinnaisella
parametrilla voidaan määrittää enimmäismäärä
elementtejä tuloksena olevassa taulukossa.
Syntaksi
merkkijono.split([erotin], [enimmäismäärä elementtejä]);
Esimerkki
Olkoon annettu jokin merkkijono viivoilla. Jaetaan
tämä merkkijono taulukoksi erottimella
'-':
let str = 'ab-cd-ef';
let arr = str.split('-');
console.log(arr);
Koodin suorituksen tulos:
['ab', 'cd', 'ef']
Esimerkki
Jaetaan taas merkkijono erottimella
'-', mutta toisella parametrilla määritetään
enimmäismäärä elementtejä tuloksena olevassa
taulukossa, esimerkiksi 2. Tässä tapauksessa
taulukkoon kirjoitetaan vain 2 elementtiä:
let str = 'ab-cd-ef';
let arr = str.split('-', 2);
console.log(arr);
Koodin suorituksen tulos:
['ab', 'cd']
Esimerkki
Kirjoitetaan jokainen merkkijonon merkki erilliseen taulukon elementtiin:
let str = 'abcde';
let arr = str.split('');
console.log(arr);
Koodin suorituksen tulos:
['a', 'b', 'c', 'd', 'e']
Esimerkki
Kirjoitetaan ensimmäiset 3 merkkijonon merkkiä
erillisiin taulukon elementteihin:
let str = 'abcde';
let arr = str.split('', 3);
console.log(arr);
Koodin suorituksen tulos:
['a', 'b', 'c']
Esimerkki
Jaetaan split:llä
merkkijono numeroilla. Huomaa,
että tuloksena on merkkijonotaulukko,
eikä numerotaulukko:
let str = '12345';
let arr = str.split('');
console.log(arr);
Koodin suorituksen tulos:
['1', '2', '3', '4', '5']
Esimerkki . Sovellus
Käännettään merkkijonon merkit käänteiseen
järjestykseen. Tätä varten jaetaan merkkijono taulukoksi
split:llä erottimella ''
(tämä sijoittaa jokaisen merkkijonon merkin erilliseen
taulukon elementtiin), käännettään tämä taulukko
reverse:llä
ja sitten yhdistetään käännetty taulukko takaisin
join:lla:
let str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let res = arr2.join('');
console.log(res);
Koodin suorituksen tulos:
'987654321'
Esimerkki . Sovellus
Yksinkertaistetaan edellisen tehtävän ratkaisua - yhdistetään kaikki komennot ketjuksi:
let str = '123456789';
let res = str.split('').reverse().join('');
console.log(res);
Koodin suorituksen tulos:
'987654321'
Esimerkki . Sovellus
Annettu merkkijono numeroilla. Etsitään numeroiden summa
tästä merkkijonosta. Tätä varten jaetaan merkkijono
taulukoksi, sitten käydään läpi tämä taulukko ja
etsitään sen summa. Meitä odottaa sudenkuoppa: split
palauttaa merkkijonoja, joten summauksen yhteydessä
muunnetaan nämä numeromerkkijonot todellisiksi
luvuiksi Number:lla:
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);
Koodin suorituksen tulos:
15
Esimerkki . Sovellus
Annettu luku. Kirjoitetaan jokainen numeron numero
erilliseen taulukon elementtiin.
Tässä on sudenkuoppa - split sovelletaan
vain merkkijonoihin, mutta meillä on luku. Muunnetaan
ensin luku merkkijonoksi String:lla,
ja sitten käytetään split:tä:
let num = 12345;
let str = String(num);
let arr = str.split('');
console.log(arr);
Koodin suorituksen tulos:
['1', '2', '3', '4', '5']