Metodo split
Il metodo split suddivide
le stringhe in un array in base al separatore
specificato nel primo parametro.
Se non è specificato, verrà restituita l'intera
stringa. Se è specificato come virgolette vuote,
ogni carattere della stringa andrà in un elemento
separato dell'array. Con un secondo parametro
opzionale è possibile specificare il numero massimo
di elementi nell'array risultante.
Sintassi
stringa.split([separatore], [numero massimo di elementi]);
Esempio
Supponiamo di avere una stringa con dei trattini.
Suddividiamo questa stringa in un array usando il separatore
'-':
let str = 'ab-cd-ef';
let arr = str.split('-');
console.log(arr);
Risultato dell'esecuzione del codice:
['ab', 'cd', 'ef']
Esempio
Suddividiamo nuovamente la stringa per il separatore
'-', ma specifichiamo come secondo parametro
il numero massimo di elementi nell'array risultante,
ad esempio, 2. In questo caso, nell'array
verranno scritti solo 2 elementi:
let str = 'ab-cd-ef';
let arr = str.split('-', 2);
console.log(arr);
Risultato dell'esecuzione del codice:
['ab', 'cd']
Esempio
Inseriamo ogni carattere della stringa in un elemento separato dell'array:
let str = 'abcde';
let arr = str.split('');
console.log(arr);
Risultato dell'esecuzione del codice:
['a', 'b', 'c', 'd', 'e']
Esempio
Inseriamo i primi 3 caratteri della stringa
in elementi separati dell'array:
let str = 'abcde';
let arr = str.split('', 3);
console.log(arr);
Risultato dell'esecuzione del codice:
['a', 'b', 'c']
Esempio
Suddividiamo una stringa con numeri usando split.
Si noti che il risultato sarà un array di stringhe,
non un array di numeri:
let str = '12345';
let arr = str.split('');
console.log(arr);
Risultato dell'esecuzione del codice:
['1', '2', '3', '4', '5']
Esempio . Applicazione
Invertiamo l'ordine dei caratteri della stringa.
Per farlo, suddividiamo la stringa in un array
usando split con il separatore ''
(questo posizionerà ogni carattere della stringa in un elemento
separato dell'array), invertiremo questo array
usando reverse
e poi uniremo l'array invertito
usando join:
let str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let res = arr2.join('');
console.log(res);
Risultato dell'esecuzione del codice:
'987654321'
Esempio . Applicazione
Semplifichiamo la soluzione del problema precedente - uniamo tutti i comandi in una catena:
let str = '123456789';
let res = str.split('').reverse().join('');
console.log(res);
Risultato dell'esecuzione del codice:
'987654321'
Esempio . Applicazione
Data una stringa con cifre. Troviamo la somma delle cifre
in questa stringa. Per farlo, suddividiamo la stringa
in un array, poi iteriamo su questo array e
troviamo la sua somma. C'è una trappola: split
restituisce stringhe, quindi durante la somma
convertiremo queste cifre-stringhe in veri
numeri usando 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);
Risultato dell'esecuzione del codice:
15
Esempio . Applicazione
Dato un numero. Inseriamo ogni cifra
di questo numero in un elemento separato dell'array.
C'è una trappola - split si applica
solo alle stringhe, mentre noi abbiamo un numero. Convertiamo
prima il numero in stringa usando String,
e poi applichiamo split:
let num = 12345;
let str = String(num);
let arr = str.split('');
console.log(arr);
Risultato dell'esecuzione del codice:
['1', '2', '3', '4', '5']