Metoda split

Metoda split rozděluje řetězce do pole podle zadaného oddělovače v prvním parametru. Pokud není zadán - vrátí se celý řetězec. Pokud je zadán jako prázdné uvozovky, každý znak řetězce bude v samostatném prvku pole. Druhým volitelným parametrem lze určit maximální počet prvků ve výsledném poli.

Syntaxe

javascriptřetězec.split([oddělovač], [maximální počet prvků]);

Příklad

Nechť je dán nějaký řetězec s pomlčkami. Pojďme rozdělit tento řetězec do pole podle oddělovače '-':

javascriptlet str = 'ab-cd-ef';
let arr = str.split('-');

console.log(arr);

Výsledek provedení kódu:

javascript['ab', 'cd', 'ef']

Příklad

Pojďme znovu rozdělit řetězec podle oddělovače '-', ale druhým parametrem určeme maximální počet prvků ve výsledném poli, například 2. V tomto případě se do pole zapíše pouze 2 prvky:

javascriptlet str = 'ab-cd-ef';
let arr = str.split('-', 2);

console.log(arr);

Výsledek provedení kódu:

javascript['ab', 'cd']

Příklad

Pojďme každý znak řetězce zapsat do samostatného prvku pole:

javascriptlet str = 'abcde';
let arr = str.split('');

console.log(arr);

Výsledek provedení kódu:

javascript['a', 'b', 'c', 'd', 'e']

Příklad

Pojďme první 3 znaky řetězce zapsat do samostatných prvků pole:

javascriptlet str = 'abcde';
let arr = str.split('', 3);

console.log(arr);

Výsledek provedení kódu:

javascript['a', 'b', 'c']

Příklad

Pojďme pomocí split rozdělit řetězec s čísly. Všimněte si, že ve výsledku získáte pole řetězců, a ne pole čísel:

javascriptlet str = '12345';
let arr = str.split('');

console.log(arr);

Výsledek provedení kódu:

javascript['1', '2', '3', '4', '5']

Příklad . Aplikace

Pojďme obrátit znaky řetězce v opačném pořadí. K tomu rozdělíme řetězec do pole pomocí split podle oddělovače '' (umístí každý znak řetězce do samostatného prvku pole), otočíme toto pole pomocí reverse a poté spojíme otočené pole zpět pomocí join:

javascriptlet str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let res = arr2.join('');

console.log(res);

Výsledek provedení kódu:

javascript'987654321'

Příklad . Aplikace

Zjednodušme řešení předchozí úlohy - spojme všechny příkazy do řetězce:

javascriptlet str = '123456789';
let res = str.split('').reverse().join('');

console.log(res);

Výsledek provedení kódu:

javascript'987654321'

Příklad . Aplikace

Je dán řetězec s číslicemi. Najděme součet číslic z tohoto řetězce. K tomu rozdělíme řetězec do pole a poté toto pole projdeme a najdeme jeho součet. Čeká nás háček: split vrací řetězce, proto při sčítání převedeme tyto číslice-řetězce na skutečná čísla pomocí Number:

javascriptlet 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ýsledek provedení kódu:

javascript15

Příklad . Aplikace

Je dáno číslo. Pojďme zapsat každou číslici tohoto čísla do samostatného prvku pole. Je tu háček - split se aplikuje pouze na řetězce, ale my máme číslo. Převeďme nejprve číslo na řetězec pomocí String, a poté aplikujme split:

javascriptlet num = 12345;
let str = String(num);
let arr = str.split('');

console.log(arr);

Výsledek provedení kódu:

javascript['1', '2', '3', '4', '5']

Viz také

  • metoda join,
    která spojuje prvky pole do řetězce
  • metoda split,
    která rozděluje řetězec podle regulárního výrazu
  • metoda reverse,
    která mění pořadí prvků v poli na opačné
  • vlastnost length,
    která umožňuje zjistit délku řetězce