Cet article présente la méthode de conversion mutuelle des chaînes et des tableaux en JavaScript avec des exemples, et le partage avec tout le monde pour votre référence. Le contenu spécifique est le suivant
L'opération de conversion entre les chaînes et les tableaux est très importante, car elle est souvent utilisée dans le processus de codage lui-même, c'est donc un point de connaissance qui doit être maîtrisé. Bien sûr, ce point de connaissance n'est pas difficile. sachez-le pour toujours. Ce n’est pas quelque chose qui nécessite suffisamment de pratique pour le maîtriser. Voici une brève introduction.
1. Convertir la chaîne en tableau
Cette opération utilisera la fonction split(), qui peut utiliser le caractère spécifié comme séparateur pour convertir une chaîne en tableau. L'exemple de code est le suivant :
var Str="abc-mng-zhang-mayi"; var newArray=Str.split("-"); console.log(newArray);
Comme le montre le résultat, la fonction split() a converti la chaîne en tableau.
2. Convertir un tableau en chaîne
Cette opération peut être implémentée à l'aide de la fonction join() de l'objet Array. Cette fonction peut connecter les éléments du tableau avec des caractères spécifiés puis renvoyer la chaîne résultante.
Le code est le suivant :
var newArray=["abc","mng","zhang","mayi"]; var Str=newArray.join("-"); console.log(Str);
Le code ci-dessus implémente nos exigences, en utilisant "-" pour connecter les éléments du tableau et générer une chaîne.
Les deux exemples ci-dessus utilisent tous les fonctions intégrées. Bien entendu, nous pouvons également écrire les nôtres, qui seront plus flexibles et connaîtront les bases.
3. Convertir une chaîne personnalisée en tableau
function StringToArray(str,substr) { var arrTmp=new Array(); if(substr=="") { arrTmp.push(str); return arrTmp; } var i=0,j=0,k=str.length; while(i<k) { j=str.indexOf(substr,i); if(j!=-1) { if(str.substring(i,j)!="") { arrTmp.push(str.substring(i,j)); } i = j+1; } else { if(str.substring(i,k)!="") { arrTmp.push(str.substring(i,k)); } i=k; } } return arrTmp; } var Str="abc-mng-zhang-mayi"; console.log(StringToArray(Str,"-")); console.log(StringToArray(Str,"-").length);
Le code ci-dessus implémente également la fonction de conversion d'une chaîne en tableau :
Commentaires du code :
1.function StringToArray(str,substr){}, cette fonction est utilisée pour la conversion, str est la chaîne à convertir et substr est le délimiteur.
2. var arrTmp=new Array(), déclare un tableau pour stocker les fragments de chaîne divisée.
3.if(substr=="") {arrTmp.push(str);return arrTmp;}, si le délimiteur de chaîne est vide, alors la chaîne entière est placée dans le tableau.
4. var i=0,j=0,k=str.length ; déclare trois variables et attribue des valeurs initiales. La valeur de k est le nombre de caractères dans la chaîne.
5.while(i
7.if(j!=-1), si le délimiteur recherché existe.
8.if(str.substring(i,j)!=""){}, intercepte la chaîne de la position de départ jusqu'au premier délimiteur.
9.arrTmp.push(str.substring(i,j));, placez la chaîne interceptée dans le tableau.
10.i=j 1; Fixe la position de départ de la recherche au caractère suivant du séparateur.
11.else{}, s'il n'y a pas de recherche.
12.if(str.substring(i,k)!=""){arrTmp.push(str.substring(i,k));}, si le caractère après le dernier délimiteur n'est pas vide, ajoutez-le au tableau .
13.i=k, réglez i sur k, donc la boucle s'arrête.
14.return arrTmp ; Renvoie un tableau.
Connaissances associées :
1.Définition et utilisation de la méthode push() :
Cette méthode peut ajouter un ou plusieurs nouveaux éléments à la fin du tableau spécifié et renvoyer la longueur du tableau.
Remarque : Les nouveaux éléments sont ajoutés directement au tableau d'origine au lieu de créer un nouveau tableau.
Cliquez pour voir plus de propriétés et de méthodes du tableau.
Structure grammaticale :
arrayObject.push (élément un, élément deux, ...., élément N)
Liste des paramètres :
Description du paramètre
Paramètres(a...N) Obligatoire. Le nouvel élément à ajouter.
Exemple de code :
var a = [1,2,3]; console.log(a.push("zhang","dao"));
2.Définition et utilisation de la méthode indexOf() :
Cette méthode renvoie la position de la première occurrence de la chaîne spécifiée dans une chaîne.
Si la chaîne correspondante n'est pas récupérée, la valeur de retour est -1.
Remarque : Cette méthode est sensible à la casse.
Structure grammaticale :
stringObject.indexOf(substring,startindex)
Exemple de code :
var a=new String("abcdefg") console.log(a.indexOf("b"));
b apparaît en deuxième position dans la chaîne abcdefg. Résultats de sortie : 1.
var a=new String("abcdefg") console.log(a.indexOf("B"));
Cette méthode est sensible à la casse, il n'y a donc pas de B majuscule dans la chaîne abcdefg. Résultat de sortie : -1.
var a=new String("abcdefg") console.log(a.indexOf("e",4));
La position de départ de la recherche est 4, et la position où la chaîne apparaît en premier est calculée à partir du début de la chaîne. Résultat de sortie : 4.
Fonction 3.substring().
4. Convertir un tableau personnalisé en chaîne
function ArrayToString(arr,str) { var strTmp=""; for(var i=0;i<arr.length;i++) { if(arr[i]!="") { if(strTmp=="") { strTmp = arr[i]; } else { strTmp=strTmp+str+arr[i]; } } } return strTmp; } var newArray=["abc","mng","zhang","mayi"]; console.log(ArrayToString(newArray,"-"));
Le code ci-dessus répond à nos exigences et peut convertir le tableau en chaîne. Commentons le code :
Commentaires du code :
1.function ArrayToString(arr,str){}, le premier paramètre est le tableau et le deuxième paramètre est la chaîne de connexion.
2.var strTmp="", déclare une chaîne vide.
3.for(var i=0;i
5.if(strTmp=="") {strTmp=arr;}, si la chaîne est également vide, alors affectez cet élément du tableau à la chaîne strTmp.
6.else{strTmp=strTmp str arr}, sinon effectuez une concaténation de chaînes.
7.return strTmp, renvoie la chaîne convertie.
Ce qui précède est le code détaillé pour la conversion entre les chaînes et les tableaux en js. J'espère qu'il sera utile à l'apprentissage de chacun.