Comment puis-je convertir une chaîne en un tableau JavaScript?
Regardez le code:
var string = "0,1";
var array = [string];
alert(array[0]);
Dans ce cas, une alert
fenêtre contextuelle s'affichera 0,1
. Quand ce serait un tableau, il ferait apparaître un 0
, et quand il alert(array[1]);
est appelé, il devrait faire apparaître le 1
.
Est-il possible de convertir une telle chaîne en un tableau JavaScript?
javascript
arrays
string
Scott
la source
la source
string[0] === '0'
à- dire dans votre question), dans la plupart des cas, vous pouvez traiter une chaîne comme un tableau de caractères et utiliser des méthodes de tableau dessus.Réponses:
Pour les membres de tableau simples comme celui-ci, vous pouvez utiliser
JSON.parse
.Cela vous donne un tableau de nombres.
Si vous utilisez
.split()
, vous vous retrouverez avec un tableau de chaînes.Sachez simplement que
JSON.parse
cela vous limitera aux types de données pris en charge. Si vous avez besoin de valeurs commeundefined
ou de fonctions, vous devez utilisereval()
un analyseur JavaScript.Si vous voulez utiliser
.split()
, mais vous voulez également un tableau de nombres, vous pouvez l'utiliserArray.prototype.map
, bien que vous deviez le caler pour IE8 et le réduire ou simplement écrire une boucle traditionnelle.la source
JSON.parse();
n'est pas disponible dans IE6, IE7. Je pense que dans ce cas,String.split(',');
c'est plus facile.var array = (new Function("return [" + string + "];"))()
. L'utilisation.split()
est correcte si les nombres ne sont pas nécessaires, sinon vous devrez mapper le résultat.eval
). Si le tableau contient des valeurs provenant de l'entrée côté client, cela ne sera pas sécurisé.Divisez- le sur le
,
personnage;la source
Ceci est facilement réalisé dans ES6 ;
Vous pouvez convertir des chaînes en tableaux avec Array.from ('chaîne') ;
va console.log
C'est exactement ce que vous recherchez.
la source
JSON.parse
laArray.from
mod en utilisantES6
. MerciRay Kim
Array.from("0, 1, 233")
reviendrai["0", ",", " ", "1", ",", " ", "2", "3", "3"]
, si je veux[0, 1, 233]
?Set
chaîne de caractères.Si la chaîne est déjà au format liste, vous pouvez utiliser le JSON.parse:
la source
Convertir tout type de chaînes
JSFiddle https://jsfiddle.net/7ne9L4Lj/1/
Résultat dans la console
Certaines pratiques ne prennent pas en charge les chaînes d'objets
la source
Pour les membres de tableau simples comme celui-ci, vous pouvez utiliser JSON.parse.
Cela vous donne un tableau de nombres.
maintenant la valeur de votre variable est comme array.length = 1
Sortie de valeur
la source
Vous pouvez utiliser
split
Référence: http://www.w3schools.com/jsref/jsref_split.asp
"0,1".split(',')
la source
Une autre option utilisant l'ES6 utilise la syntaxe Spread .
var convertedArray = [..."01234"];
la source
utilisez la fonction de carte intégrée avec une fonction anonyme, comme ceci:
[modifier] voici comment vous l'utiliseriez
la source
"123, 'a string with a , comma', 456"
. Vous pouvez utiliser une expression rationnelle plus complexe pour gérer correctement de tels cas (par exemple quelque chose comme suggéré ici ).Plus d'exemples "Essayez-le vous-même" ci-dessous.
Définition et utilisation La méthode split () est utilisée pour diviser une chaîne en un tableau de sous-chaînes et renvoie le nouveau tableau.
Conseil: Si une chaîne vide ("") est utilisée comme séparateur, la chaîne est divisée entre chaque caractère.
Remarque: La méthode split () ne modifie pas la chaîne d'origine.
la source
Vous pouvez utiliser la javascript Spread Syntax pour convertir une chaîne en un tableau. Dans la solution ci-dessous, je supprime la virgule, puis convertis la chaîne en un tableau.
la source
Comment convertir une chaîne séparée par des virgules en un tableau en JavaScript?
Pour plus d'exemples de conversion de chaîne en tableau en javascript en utilisant les méthodes ci-dessous:
Fractionner () avec l'argument limite
consultez ce lien ==> https://www.tutsmake.com/javascript-convert-string-to-array-javascript/
la source
Je supprime les caractères '[', ']' et je fais une séparation avec ','
la source
Split (",") peut convertir des chaînes avec des virgules en un tableau de chaînes, voici mon extrait de code.
la source
// => déclaration d'une expression régulière
[a-zA-Z0-9] => correspond à tous az, AZ, 0-9
(): => regrouper tous les éléments correspondants
$ 1 => la chaîne de remplacement fait référence au premier groupe de correspondance dans l'expression régulière.
g => drapeau global
la source
Exemple utilisant
Array.filter
:la source
Pourquoi ne remplacez-vous pas la
,
virgule etsplit('')
la chaîne comme celle-ci qui se traduira par['0', '1']
ailleurs, vous pouvez envelopper le résultat dansparseInt()
pour transformer l'élément en type entier.la source