J'ai un tableau unidimensionnel de chaînes en JavaScript que je voudrais transformer en une liste séparée par des virgules. Existe-t-il un moyen simple dans JavaScript de type jardin (ou jQuery) de transformer cela en une liste séparée par des virgules? (Je sais comment parcourir le tableau et créer la chaîne moi-même par concaténation si c'est le seul moyen.)
javascript
jquery
Herbe Caudill
la source
la source
var arr = ["Zero", "One", "Two"]; console.log(arr.toString());
qui retourneZero,One,Two
Lire la suiteRéponses:
La méthode Array.prototype.join () :
la source
En fait, l'
toString()
implémentation fait une jointure avec des virgules par défaut:Je ne sais pas si cela est mandaté par la spécification JS mais c'est ce que
plusà peu près tous les navigateurs semblent le faire.la source
arr + ''
toString()
etjoin(",")
sont à peu près équivalentes en avril 2018Ou (plus efficacement):
La méthode toString d'un tableau, lorsqu'elle est appelée, renvoie exactement ce dont vous avez besoin - une liste séparée par des virgules.
la source
Voici une implémentation qui convertit un tableau à deux dimensions ou un tableau de colonnes en une chaîne CSV correctement échappée. Les fonctions ne vérifient pas l'entrée de chaîne / nombre valide ou le nombre de colonnes (assurez-vous que votre tableau est valide pour commencer). Les cellules peuvent contenir des virgules et des guillemets!
Voici un script pour décoder les chaînes CSV .
Voici mon script pour encoder des chaînes CSV :
la source
Je pense que cela devrait le faire:
violon
Fondamentalement, il ne fait que vérifier si la chaîne contient une virgule ou une citation. Si c'est le cas, il double toutes les guillemets et place des guillemets aux extrémités. Il joint ensuite chacune des parties par une virgule.
la source
Si vous devez utiliser "et" au lieu de "," entre les deux derniers éléments, vous pouvez le faire:
la source
Il existe de nombreuses méthodes pour convertir un tableau en liste séparée par des virgules
1. Utilisation de array # join
Depuis MDN
Le code
Fragment
Afficher l'extrait de code
2. Utilisation du tableau # toString
Depuis MDN
Le code
Fragment
Afficher l'extrait de code
3. Ajoutez [] + avant le tableau ou + [] après un tableau
Le [] + ou + [] le convertira en chaîne
Preuve
affichera vrai
Afficher l'extrait de code
Fragment
Afficher l'extrait de code
Aussi
Afficher l'extrait de code
la source
Utilisez la
Array.toString
méthode intégréeMDN sur Array.toString ()
la source
Je me trouve généralement besoin de quelque chose qui saute également la valeur si cette valeur est
null
ouundefined
, etc.Voici donc la solution qui me convient:
La plupart des solutions ici reviendraient
', apple'
si mon tableau ressemblait à celui de mon deuxième exemple. C'est pourquoi je préfère cette solution.la source
J'ai aimé la solution sur https://jsfiddle.net/rwone/qJUh2/ car elle ajoute des espaces après des virgules:
Ou, comme suggéré par @StackOverflaw dans les commentaires:
la source
arr.join(', ')
qui est en fait plus rapide (selon les commentaires de @Sameer), et aussi plus sûr (ne dérange pas les virgules à l'intérieur des valeurs du tableau comme le ferait le RegExp sur la chaîne résultante). ;)Papa Parse gère les virgules dans les valeurs et autres cas marginaux.
( Baby Parse for Node est obsolète - vous pouvez désormais utiliser Papa Parse dans le navigateur et dans Node.)
Par exemple. (nœud)
1 ,, "a, b"
la source
Prendre le code initial:
La réponse initiale de l'utilisation de la fonction de jointure est idéale. Une chose à considérer serait l'utilisation ultime de la chaîne.
Pour une utilisation dans un affichage textuel final:
Pour utiliser dans une URL pour transmettre plusieurs valeurs d'une manière (quelque peu) RESTful:
Bien sûr, tout dépend de l'utilisation finale. Gardez simplement à l'esprit la source et l'utilisation des données et tout ira bien avec le monde.
la source
Voulez-vous terminer avec un "et"?
Pour cette situation, j'ai créé un module npm.
Essayez arrford :
Usage
Installer
Lire la suite
https://github.com/dawsonbotsford/arrford
Essayez-le vous-même
Lien tonique
la source
Depuis Chrome 72 , il est possible d'utiliser Intl.ListFormat :
Veuillez noter que cette méthode en est à son tout début, donc à la date de publication de cette réponse, attendez-vous à une incompatibilité avec les anciennes versions de Chrome et d'autres navigateurs.
la source
la source
la source
Cette solution supprime également des valeurs telles que
" "
:la source