J'ai une chaîne séparée par des virgules que je veux convertir en tableau, donc je peux la parcourir.
Y a-t-il quelque chose de intégré pour ce faire?
Par exemple, j'ai cette chaîne
var str = "January,February,March,April,May,June,July,August,September,October,November,December";
maintenant, je veux diviser cela par la virgule, puis le stocker dans un tableau.
javascript
string
split
Blankman
la source
la source
string.split(',');
Réponses:
Référence MDN , principalement utile pour le comportement éventuellement inattendu du
limit
paramètre. (Indice:"a,b,c".split(",", 2)
sort["a", "b"]
, non["a", "b,c"]
.)la source
string
a un peu la richesse du JavaString
.split
cela fonctionnera bien si vous êtes sûr d'avoir des élémentsarray
, si vous attendez des données d'un serveur / base de données, vous rencontrerez des problèmes car il''.split(',')
a unlength === 1
IE:''.split(',') === ['']
Attention si vous visez des entiers, comme 1,2,3,4,5. Si vous avez l'intention d'utiliser les éléments de votre tableau sous forme d'entiers et non sous forme de chaînes après avoir fractionné la chaîne, envisagez de les convertir en tels.
ajouter une boucle comme celle-ci
renverra un tableau contenant des entiers et non des chaînes.
la source
"001,002,003..."
). ComparezparseInt('010')
avecparseInt('010', 10)
.map
fonction peut être utilisée pour effectuer l'analyse syntaxique des nombres entiers sur une seule ligne:str.split(',').map(parseInt)
Le partage Hmm est dangereux à mon humble avis car une chaîne peut toujours contenir une virgule, observez les points suivants:
Alors, comment interféreriez-vous cela? et que voulez-vous que le résultat soit? un tableau avec:
même si vous échappez à la virgule, vous auriez un problème.
Agit rapidement ensemble:
N'hésitez pas à l'utiliser / à le modifier :)
la source
La méthode split () est utilisée pour diviser une chaîne en un tableau de sous-chaînes et renvoie le nouveau tableau.
la source
var sampleTags = ['[email protected]']; console.log(sampleTags); $("#order_id").on("change", function() { var order_id = document.getElementById('order_id').value; $.ajax({url: "model/getUserMailIds.php",data:{order_id:order_id},type:'POST', success: function(result){ alert(result); var sampleTags = result.split(',');; console.log(sampleTags); }}); });
Notez que ce qui suit:
alertera 1
la source
Passez votre chaîne séparée par des virgules dans cette fonction et elle renverra un tableau, et si aucune chaîne séparée par des virgules n'est trouvée, elle renverra null.
la source
else { ResultArray = [CommaSepStr]; }
après le deuxièmeif
Fonction de retour
sa chaîne d'acceptation et ses chaînes d'objet
JSFiddle https://jsfiddle.net/7ne9L4Lj/1/
la source
var stringtext = "String, text, I, am"; var stringtextArray = (new Function("return [" + string text + "];")());
le résultat est: SyntaxError: identifiant inattenduJe sais que cette question a reçu une réponse depuis un certain temps, mais je pensais que ma contribution serait bénéfique pour les autres chercheurs sur ce sujet ...
Voici une fonction qui convertira une chaîne en tableau, même s'il n'y a qu'un seul élément dans la liste (pas de caractère séparateur):
Utilisez-le comme ceci:
J'ai créé cette fonction car
split
jette une erreur s'il n'y a pas de caractère séparateur dans la chaîne (un seul élément)la source
'echo'.split(',')
retourne['echo']
et''.split(',')
retourne['']
. Vous aurez obtenir une erreur si vous appelezx.split(',')
quandx
est pas une chaîne (y compris quandx
est indéfini ou nulle ), parce qu'il n'y a pas desplit
fonction disponible pour d' autres types.split
pour un objet non défini quand j'ai écrit ma fonction listToArray. Merci de l'avoir signalé ...J'ai eu un problème similaire, mais plus complexe car j'avais besoin de transformer un csv en un tableau de tableaux (chaque ligne est un élément de tableau qui contient un tableau d'éléments divisé par une virgule).
La solution la plus simple (et plus sûre je parie) était d'utiliser PapaParse ( http://papaparse.com/ ) qui a une option "sans en-tête" qui transforme le csv en un tableau de tableaux, en plus, il a automatiquement détecté le " , "comme mon délimiteur.
De plus, il est enregistré dans bower, donc je n'avais qu'à:
puis l'utiliser dans mon code comme suit:
J'aime vraiment ça.
la source
il en résultera:
et si vous souhaitez convertir ce qui suit en:
cette:
utilisation:
la source
bonne solution pour ça
la source
Pour un tableau de chaînes en chaîne séparée par des virgules
la source
vous pouvez essayer l'extrait de code suivant
la source
Le plus court
Afficher l'extrait de code
la source