62 of 264 menu

Metoda split

Metoda split împarte șirurile într-un array după separatorul specificat în primul parametru. Dacă nu este specificat - va fi returnat întregul șir. Dacă este specificat ca ghilimele goale, atunci fiecare caracter al șirului va deveni un element separat în array. Al doilea parametru opțional poate specifica numărul maxim de elemente în array-ul rezultat.

Sintaxă

șir.split([separator], [numărul maxim de elemente]);

Exemplu

Să presupunem că avem un șir cu cratime. Să împărțim acest șir într-un array după separatorul '-':

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

Rezultatul executării codului:

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

Exemplu

Să împărțim din nou șirul după separatorul '-', dar să specificăm ca al doilea parametru numărul maxim de elemente în array-ul rezultat, de exemplu, 2. În acest caz, în array vor fi scrise doar 2 elemente:

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

Rezultatul executării codului:

['ab', 'cd']

Exemplu

Să scriem fiecare caracter al șirului ca un element separat în array:

let str = 'abcde'; let arr = str.split(''); console.log(arr);

Rezultatul executării codului:

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

Exemplu

Să scriem primele 3 caractere ale șirului ca elemente separate în array:

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

Rezultatul executării codului:

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

Exemplu

Să împărțim cu split un șir cu numere. Atenție la faptul că în rezultat vom obține un array de șiruri, nu un array de numere:

let str = '12345'; let arr = str.split(''); console.log(arr);

Rezultatul executării codului:

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

Exemplu . Aplicație

Să inversăm caracterele șirului în ordine inversă. Pentru aceasta, vom împărți șirul într-un array cu split după separatorul '' (acest lucru va plasa fiecare caracter al șirului într-un element separat al array-ului), vom inversa acest array cu reverse și apoi vom uni array-ul inversat înapoi cu join:

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

Rezultatul executării codului:

'987654321'

Exemplu . Aplicație

Să simplificăm soluția problemei anterioare - să combinăm toate comenzile într-un lanț:

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

Rezultatul executării codului:

'987654321'

Exemplu . Aplicație

Este dat un șir cu cifre. Să găsim suma cifrelor din acest șir. Pentru aceasta, vom împărți șirul într-un array, apoi vom parcurge acest array și vom găsi suma lui. Există o capcană: split returnează șiruri, deci la însumare vom converti aceste cifre-șiruri în numere reale cu 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);

Rezultatul executării codului:

15

Exemplu . Aplicație

Este dat un număr. Să scriem fiecare cifră a acestui număr într-un element separat al array-ului. Aici există o capcană - split se aplică doar la șiruri, iar noi avem un număr. Să convertim întâi numărul în șir cu String, apoi să aplicăm split:

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

Rezultatul executării codului:

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

Vezi și

  • metoda join,
    care unește elementele array-ului într-un șir
  • metoda split,
    care împarte șirul după regex
  • metoda reverse,
    care schimbă ordinea elementelor în array în ordine inversă
  • proprietatea length,
    care permite aflarea lungimii șirului
damsplsvkk