Méthode split
La méthode split divise
une chaîne en un tableau selon le séparateur
spécifié dans le premier paramètre.
S'il n'est pas spécifié - toute la chaîne
sera retournée. S'il est spécifié comme des guillemets vides,
alors chaque caractère de la chaîne ira dans un élément
distinct du tableau. Un deuxième paramètre optionnel
permet de spécifier le nombre maximal
d'éléments dans le tableau résultant.
Syntaxe
chaîne.split([séparateur], [nombre maximal d'éléments]);
Exemple
Soit une chaîne avec des tirets. Divisons
cette chaîne en un tableau selon le séparateur
'-' :
let str = 'ab-cd-ef';
let arr = str.split('-');
console.log(arr);
Résultat de l'exécution du code :
['ab', 'cd', 'ef']
Exemple
Divisons à nouveau la chaîne selon le séparateur
'-', mais en spécifiant cette fois
le nombre maximal d'éléments dans le tableau résultant
comme deuxième paramètre, par exemple, 2. Dans ce cas, seulement
2 éléments seront enregistrés dans le
tableau :
let str = 'ab-cd-ef';
let arr = str.split('-', 2);
console.log(arr);
Résultat de l'exécution du code :
['ab', 'cd']
Exemple
Enregistrons chaque caractère de la chaîne dans un élément distinct du tableau :
let str = 'abcde';
let arr = str.split('');
console.log(arr);
Résultat de l'exécution du code :
['a', 'b', 'c', 'd', 'e']
Exemple
Enregistrons les premiers 3 caractères de la chaîne
dans des éléments distincts du tableau :
let str = 'abcde';
let arr = str.split('', 3);
console.log(arr);
Résultat de l'exécution du code :
['a', 'b', 'c']
Exemple
Divisons une chaîne de chiffres à l'aide de split.
Attention au fait que le résultat sera un tableau de chaînes de caractères,
et non un tableau de nombres :
let str = '12345';
let arr = str.split('');
console.log(arr);
Résultat de l'exécution du code :
['1', '2', '3', '4', '5']
Exemple . Application
Inversons l'ordre des caractères d'une chaîne.
Pour cela, divisons la chaîne en un tableau
à l'aide de split avec le séparateur ''
(cela placera chaque caractère de la chaîne dans un élément
distinct du tableau), inversons ce tableau
à l'aide de reverse
puis fusionnons le tableau inversé
à l'aide de join :
let str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let res = arr2.join('');
console.log(res);
Résultat de l'exécution du code :
'987654321'
Exemple . Application
Simplifions la solution de la tâche précédente - enchaînons toutes les commandes :
let str = '123456789';
let res = str.split('').reverse().join('');
console.log(res);
Résultat de l'exécution du code :
'987654321'
Exemple . Application
Soit une chaîne de chiffres. Trouvons la somme des chiffres
de cette chaîne. Pour cela, divisons la chaîne
en un tableau, puis parcourons ce tableau et
trouvons sa somme. Attention à un piège : split
retourne des chaînes, donc lors de la sommation,
convertissons ces chiffres-chaînes en véritables
nombres à l'aide de 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);
Résultat de l'exécution du code :
15
Exemple . Application
Soit un nombre. Enregistrons chaque chiffre
de ce nombre dans un élément distinct du tableau.
Il y a un piège - split s'applique
uniquement aux chaînes de caractères, et nous avons un nombre. Convertissons
d'abord le nombre en chaîne à l'aide de String,
puis appliquons split :
let num = 12345;
let str = String(num);
let arr = str.split('');
console.log(arr);
Résultat de l'exécution du code :
['1', '2', '3', '4', '5']