Metoda String .split().

V MDN je definice - "Metoda .split() rozděluje řetězec na uspořádaný seznam podřetězců, vkládá tyto podřetězce do pole a vrací pole ".

."

Tuto metodu používáme k rozdělení řetězce se vzorem uvedeným v prvním parametru a limity ve druhém parametru. Ale nejsou vyžadovány.

Z níže uvedených příkladů použijte console.log(splits) abyste viděli výstup v konzole.

const words = 'Hello, I am a Split!'; 

let splits = words.split(); //no parameters
//Output: ['Hello, I am a Split!']

let splits = words.split(' '); //a whitespace
//Output: ['Hello,', 'I', 'am', 'a', 'Split!']

let splits = words.split(','); //a comma
//Output: ['Hello', ' I am a Split!']

let splits = words.split(' ', 3);
//Output: ['Hello,', 'I', 'am']

Metoda rozdělení může mít také multiple parameters :

  • Musíme použít slashes místo uvozovek v rámci metody rozdělení, když existuje více parametrů, protože používáme regulární výrazy (regulární výrazy).
const words = 'Hello, I am a Split!'; 

//Using Regex - brackets '/[]/'
let splits = words.split(/[,\s!]/); //comma, whitespace ('\s'), exclamation
//Output: ['Hello', '', 'I', 'am', 'a', 'Split', '']

//Using Regex - pipes '/|/'
let splits = words.split(/,|\s|!/);
//Output: ['Hello', '', 'I', 'am', 'a', 'Split', '']

Další poznámky:

Jak jste si všimli, z výstupu jsou vygenerovány některé prázdné prvky, můžete se jich zbavit pomocí metody Array filter(), jak je uvedeno níže:

const filters = splits.filter(element => element); 
//Output: ['Hello', 'I', 'am', 'a', 'Split']