Metóda split
Metóda split rozdeľuje
reťazce na pole podľa zadaného
oddeľovača v prvom parametri.
Ak nie je zadaný - vráti sa celý
reťazec. Ak je zadaný ako prázdne úvodzovky,
potom každý znak reťazca bude v samostatnom
prvku poľa. Druhým voliteľným parametrom
možno zadať maximálny počet prvkov vo výslednom poli.
Syntax
reťazec.split([oddeľovač], [maximálny počet prvkov]);
Príklad
Majme nejaký reťazec s pomlčkami. Poďme
rozdeliť tento reťazec na pole podľa oddeľovača
'-':
let str = 'ab-cd-ef';
let arr = str.split('-');
console.log(arr);
Výsledok vykonania kódu:
['ab', 'cd', 'ef']
Príklad
Poďme znova rozdeliť reťazec podľa oddeľovača
'-', avšak druhým parametrom zadajme
maximálny počet prvkov vo výslednom poli,
napr. 2. V tomto prípade sa do
pola zapíšu len 2 prvky:
let str = 'ab-cd-ef';
let arr = str.split('-', 2);
console.log(arr);
Výsledok vykonania kódu:
['ab', 'cd']
Príklad
Poďme každý znak reťazca zapísať do samostatného prvku poľa:
let str = 'abcde';
let arr = str.split('');
console.log(arr);
Výsledok vykonania kódu:
['a', 'b', 'c', 'd', 'e']
Príklad
Poďme prvých 3 znakov reťazca zapísať
do samostatných prvkov poľa:
let str = 'abcde';
let arr = str.split('', 3);
console.log(arr);
Výsledok vykonania kódu:
['a', 'b', 'c']
Príklad
Poďme pomocou split rozdeliť
reťazec s číslami. Dávajte pozor na to,
že výsledkom bude pole reťazcov,
a nie pole čísel:
let str = '12345';
let arr = str.split('');
console.log(arr);
Výsledok vykonania kódu:
['1', '2', '3', '4', '5']
Príklad . Aplikácia
Poďme obrátiť znaky reťazca v opačnom
poradí. Na to rozdelíme reťazec na pole
pomocou split podľa oddeľovača ''
(to umiestni každý znak reťazca do samostatného
prvku poľa), obrátime toto pole
pomocou reverse
a potom zlúčime obrátené pole späť
pomocou join:
let str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let res = arr2.join('');
console.log(res);
Výsledok vykonania kódu:
'987654321'
Príklad . Aplikácia
Zjednodušme riešenie predchádzajúcej úlohy - zlúčme všetky príkazy do reťazca:
let str = '123456789';
let res = str.split('').reverse().join('');
console.log(res);
Výsledok vykonania kódu:
'987654321'
Príklad . Aplikácia
Daný reťazec s číslicami. Nájdime súčet číslic
z tohto reťazca. Na to rozdelíme reťazec
na pole a potom toto pole prejdeme a
nájdeme jeho súčet. Čaká nás úskalie: split
vracia reťazce, preto pri sčítavaní
pretransformujeme tieto číslice-reťazce na skutočné
čísla pomocou 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);
Výsledok vykonania kódu:
15
Príklad . Aplikácia
Dané číslo. Poďme zapísať každú číslicu
tohto čísla do samostatného prvku poľa.
Tu je úskalie - split sa aplikuje
len na reťazce, a my máme číslo. Transformujme
najprv číslo na reťazec pomocou String,
a potom aplikujme split:
let num = 12345;
let str = String(num);
let arr = str.split('');
console.log(arr);
Výsledok vykonania kódu:
['1', '2', '3', '4', '5']