Metodas split
Metodas split skaido
eilutes į masyvą pagal nurodytą
pirmame parametre skiriklį.
Jei jis nenurodytas - bus grąžinta visa
eilutė. Jei jis nurodytas kaip tuščios kabutės,
tada kiekvienas eilutės simbolis pateks į atskirą
masyvo elementą. Antruoju neprivalomu
parametru galima nurodyti maksimalų
elementų kiekį gautame masyve.
Sintaksė
eilutė.split([skiriklis], [maksimalus elementų kiekis]);
Pavyzdys
Tegu yra duota kažkokia eilutė su brūkšneliais. Padalinkime
šią eilutę į masyvą pagal skiriklį
'-':
let str = 'ab-cd-ef';
let arr = str.split('-');
console.log(arr);
Kodo vykdymo rezultatas:
['ab', 'cd', 'ef']
Pavyzdys
Dar kartą padalinkime eilutę pagal skiriklį
'-', tačiau antruoju parametru nurodykime
maksimalų elementų kiekį gautame
masyve, pavyzdžiui, 2. Šiuo atveju į
masyvą bus įrašyti tik 2 elementai:
let str = 'ab-cd-ef';
let arr = str.split('-', 2);
console.log(arr);
Kodo vykdymo rezultatas:
['ab', 'cd']
Pavyzdys
Kiekvieną eilutės simbolį įrašykime į atskirą masyvo elementą:
let str = 'abcde';
let arr = str.split('');
console.log(arr);
Kodo vykdymo rezultatas:
['a', 'b', 'c', 'd', 'e']
Pavyzdys
Pirmuosius 3 eilutės simbolius įrašykime
į atskirus masyvo elementus:
let str = 'abcde';
let arr = str.split('', 3);
console.log(arr);
Kodo vykdymo rezultatas:
['a', 'b', 'c']
Pavyzdys
Naudodami split padalinkime
eilutę su skaičiais. Atkreipkite dėmesį į tai,
kad rezultate gausime eilučių masyvą,
o ne skaičių masyvą:
let str = '12345';
let arr = str.split('');
console.log(arr);
Kodo vykdymo rezultatas:
['1', '2', '3', '4', '5']
Pavyzdys . Taikymas
Apverskime eilutės simbolius atvirkštine
tvarka. Tam padalinkime eilutę į masyvą
naudodami split pagal skiriklį ''
(tai patalpins kiekvieną eilutės simbolį į atskirą
masyvo elementą), apversime šį masyvą
naudodami reverse
ir tada sujungsime apverstą masyvą atgal
naudodami join:
let str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let res = arr2.join('');
console.log(res);
Kodo vykdymo rezultatas:
'987654321'
Pavyzdys . Taikymas
Supaprastinkime ankstesnės užduoties sprendimą - sujunkime visas komandas į grandinę:
let str = '123456789';
let res = str.split('').reverse().join('');
console.log(res);
Kodo vykdymo rezultatas:
'987654321'
Pavyzdys . Taikymas
Duota eilutė su skaitmenimis. Raskime šių skaitmenų
sumą. Tam padalinkime eilutę
į masyvą, o tada pereisime šį masyvą ir
rasime jo sumą. Mus laukia spastai: split
grąžina eilutes, todėl sumuodami
paverstume šiuos skaitmenis-eilutes į tikrus
skaičius naudodami 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);
Kodo vykdymo rezultatas:
15
Pavyzdys . Taikymas
Duotas skaičius. Kiekvieną šio skaičiaus skaitmenį
įrašykime į atskirą masyvo elementą.
Čia yra spastų - split taikomas
tik eilutėms, o mes turime skaičių. Paverskime
pirmiausia skaičių į eilutę naudodami String,
o tada pritaikykime split:
let num = 12345;
let str = String(num);
let arr = str.split('');
console.log(arr);
Kodo vykdymo rezultatas:
['1', '2', '3', '4', '5']