Ich habe eine durch Kommas getrennte Zeichenfolge, die ich in ein Array konvertieren möchte, damit ich sie durchlaufen kann.
Ist dafür etwas eingebaut?
Zum Beispiel habe ich diese Zeichenfolge
var str = "January,February,March,April,May,June,July,August,September,October,November,December";
Jetzt möchte ich dies durch Komma teilen und dann in einem Array speichern.
javascript
string
split
Blankman
quelle
quelle
string.split(',');
Antworten:
MDN-Referenz , meistens hilfreich für das möglicherweise unerwartete Verhalten des
limit
Parameters. (Hinweis:"a,b,c".split(",", 2)
kommt heraus["a", "b"]
, nicht["a", "b,c"]
.)quelle
string
den Reichtum von Java hatString
.split
funktioniert gut, wenn Sie sicher sind, dass Sie Elemente in habenarray
, wenn Sie Daten von einem Server / einer Datenbank erwarten, werden Sie in Schwierigkeiten geraten, da''.split(',')
einlength === 1
IE:''.split(',') === ['']
Achten Sie darauf, ob Sie ganze Zahlen wie 1,2,3,4,5 anstreben. Wenn Sie die Elemente Ihres Arrays nach dem Teilen der Zeichenfolge als Ganzzahlen und nicht als Zeichenfolgen verwenden möchten, sollten Sie sie in solche konvertieren.
Hinzufügen einer solchen Schleife
gibt ein Array zurück, das Ganzzahlen und keine Zeichenfolgen enthält.
quelle
"001,002,003..."
) zu unerwarteten Ergebnissen führen kann . VergleicheparseInt('010')
mitparseInt('010', 10)
.map
Funktion kann verwendet werden, um die Ganzzahlanalyse in einer Zeile durchzuführen:str.split(',').map(parseInt)
Hmm Split ist imho gefährlich, da eine Zeichenfolge immer ein Komma enthalten kann. Beachten Sie Folgendes:
Wie würden Sie das stören? und was willst du das ergebnis sein? ein Array mit:
Selbst wenn Sie dem Komma entkommen, hätten Sie ein Problem.
Fummelte schnell daran herum:
Fühlen Sie sich frei, es zu benutzen / zu bearbeiten :)
quelle
Die split () -Methode wird verwendet, um eine Zeichenfolge in ein Array von Teilzeichenfolgen aufzuteilen und das neue Array zurückzugeben.
quelle
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); }}); });
Beachten Sie Folgendes:
wird alarmieren 1
quelle
Übergeben Sie Ihre durch Kommas getrennte Zeichenfolge an diese Funktion, und es wird ein Array zurückgegeben. Wenn keine durch Kommas getrennte Zeichenfolge gefunden wird, wird null zurückgegeben.
quelle
else { ResultArray = [CommaSepStr]; }
nach dem zweitenif
Rückgabefunktion
Es akzeptiert String und Objectstrings
JSFiddle https://jsfiddle.net/7ne9L4Lj/1/
quelle
var stringtext = "String, text, I, am"; var stringtextArray = (new Function("return [" + string text + "];")());
Ergebnis ist: SyntaxError: Unerwarteter BezeichnerIch weiß, dass diese Frage schon eine ganze Weile beantwortet wurde, aber ich dachte, mein Beitrag wäre für andere, die sich mit diesem Thema befassen, von Vorteil ...
Hier ist eine Funktion, die eine Zeichenfolge in ein Array konvertiert, auch wenn nur ein Element in der Liste vorhanden ist (kein Trennzeichen):
Verwenden Sie es so:
Ich habe diese Funktion erstellt, weil
split
ein Fehler ausgegeben wird, wenn die Zeichenfolge kein Trennzeichen enthält (nur ein Element).quelle
'echo'.split(',')
return['echo']
und''.split(',')
return['']
. Sie wird eine Fehlermeldung erhalten , wenn Sie anrufen ,x.split(',')
wennx
kein String (einschließlich demx
ist nicht definiert oder null ), weil es keinesplit
Funktion für andere Arten.split
für ein undefiniertes Objekt zu verwenden, als ich meine listToArray-Funktion geschrieben habe. Vielen Dank für den Hinweis ...Ich hatte ein ähnliches Problem, aber komplexer, da ich eine CSV in ein Array von Arrays umwandeln musste (jede Zeile ist ein Array-Element, in dem sich ein Array von Elementen befindet, die durch Komma getrennt sind).
Die einfachste Lösung (und ich wette, sicherer) war die Verwendung von PapaParse ( http://papaparse.com/ ), das über eine Option "kein Header" verfügt, mit der die CSV in ein Array von Arrays umgewandelt wird. , "als mein Begrenzer.
Außerdem ist es in der Laube registriert, also musste ich nur:
und dann benutze es in meinem Code wie folgt:
Ich mochte es wirklich.
quelle
es wird resultieren:
und wenn Sie Folgendes konvertieren möchten:
diese:
verwenden:
quelle
gute Lösung dafür
quelle
Für Array von Zeichenfolgen zu durch Kommas getrennten Zeichenfolgen
quelle
Sie können das folgende Snippet ausprobieren
quelle
Kürzeste
Code-Snippet anzeigen
quelle