Wie kann ich eine Zeichenfolge in ein JavaScript-Array konvertieren?
Schauen Sie sich den Code an:
var string = "0,1";
var array = [string];
alert(array[0]);
In diesem Fall alert
würde ein Popup a 0,1
. Wenn es sich um ein Array handelt, wird ein Popup-Fenster angezeigt 0
, und wenn alert(array[1]);
es aufgerufen wird, sollte das Popup-Fenster angezeigt werden 1
.
Gibt es eine Möglichkeit, eine solche Zeichenfolge in ein JavaScript-Array zu konvertieren?
javascript
arrays
string
Scott
quelle
quelle
string[0] === '0'
in Ihrer Frage). In den meisten Fällen können Sie eine Zeichenfolge als Array von Zeichen behandeln und Array-Methoden verwenden.Antworten:
Für solche einfachen Array-Mitglieder können Sie verwenden
JSON.parse
.Dies gibt Ihnen ein Array von Zahlen.
Wenn Sie verwenden
.split()
, erhalten Sie ein Array von Zeichenfolgen.Beachten Sie jedoch, dass
JSON.parse
Sie sich auf die unterstützten Datentypen beschränken. Wenn Sie Werte wieundefined
oder Funktionen benötigen, müssen Sieeval()
einen JavaScript-Parser verwenden.Wenn Sie verwenden möchten
.split()
, aber auch ein Array von Zahlen möchten, können Sie es verwendenArray.prototype.map
, obwohl Sie es für IE8 und niedriger anpassen oder einfach eine herkömmliche Schleife schreiben müssen.quelle
JSON.parse();
Beachten Sie auch, dass dies in IE6, IE7 nicht verfügbar ist. Ich denke in diesem FallString.split(',');
ist das einfacher.var array = (new Function("return [" + string + "];"))()
. Die Verwendung.split()
ist in Ordnung, wenn keine Zahlen benötigt werden, andernfalls müssten Sie das Ergebnis zuordnen.eval
). Wenn das Array Werte von clientseitigen Eingaben enthält, ist dies unsicher.Teilen Sie es auf den
,
Charakter;quelle
Dies ist in ES6 leicht zu erreichen ;
Sie können Strings mit Array.from ('string') in Arrays konvertieren .
wird console.log
Welches ist genau das, wonach Sie suchen.
quelle
JSON.parse
zuArray.from
wie verschoben verschobenES6
. Vielen DankRay Kim
Array.from("0, 1, 233")
werde zurückkehren["0", ",", " ", "1", ",", " ", "2", "3", "3"]
, was ist, wenn ich will[0, 1, 233]
?Set
aus Zeichenfolgen besteht.Wenn die Zeichenfolge bereits im Listenformat vorliegt, können Sie JSON.parse verwenden:
quelle
Konvertieren Sie alle Arten von Zeichenfolgen
JSFiddle https://jsfiddle.net/7ne9L4Lj/1/
Ergebnis in der Konsole
Einige Praktiken unterstützen keine Objektzeichenfolgen
quelle
Für solche einfachen Array-Mitglieder können Sie JSON.parse verwenden.
Dies gibt Ihnen ein Array von Zahlen.
Jetzt ist Ihr variabler Wert wie array.length = 1
Wertausgabe
quelle
Sie können verwenden
split
Referenz: http://www.w3schools.com/jsref/jsref_split.asp
"0,1".split(',')
quelle
Eine weitere Option bei Verwendung des ES6 ist die Verwendung der Spread- Syntax.
var convertedArray = [..."01234"];
quelle
Verwenden Sie die integrierte Kartenfunktion mit einer anonymen Funktion wie folgt:
[Bearbeiten] Hier ist, wie Sie es verwenden würden
quelle
"123, 'a string with a , comma', 456"
. Sie könnten eine komplexere Regex verwenden, um solche Fälle korrekt zu behandeln (zum Beispiel etwas wie hier vorgeschlagen ).Weitere Beispiele für "Try it Yourself" finden Sie weiter unten.
Definition und Verwendung Die split () -Methode wird verwendet, um eine Zeichenfolge in ein Array von Teilzeichenfolgen aufzuteilen und das neue Array zurückzugeben.
Tipp: Wenn eine leere Zeichenfolge ("") als Trennzeichen verwendet wird, wird die Zeichenfolge zwischen den einzelnen Zeichen aufgeteilt.
Hinweis: Die split () -Methode ändert die ursprüngliche Zeichenfolge nicht.
quelle
Sie können die Javascript- Spread-Syntax verwenden , um Zeichenfolgen in ein Array zu konvertieren. In der folgenden Lösung entferne ich das Komma und konvertiere die Zeichenfolge in ein Array.
quelle
Wie konvertiere ich eine durch Kommas getrennte Zeichenfolge in ein Array in JavaScript?
Weitere Beispiele für die Konvertierung von Zeichenfolgen in Arrays in Javascript auf folgende Weise:
Split () mit Limit Argument
Schauen Sie sich diesen Link an ==> https://www.tutsmake.com/javascript-convert-string-to-array-javascript/
quelle
Ich entferne die Zeichen '[', ']' und mache einen Split mit ','
quelle
Split (",") kann Strings mit Kommas in ein String-Array konvertieren. Hier ist mein Code-Snippet.
quelle
// => regulären Ausdruck deklarieren
[a-zA-Z0-9] => stimme mit allen az, AZ, 0-9 überein
(): => gruppiere alle übereinstimmenden Elemente
$ 1 => Ersatzzeichenfolge bezieht sich auf die erste Übereinstimmungsgruppe in der Regex.
g => globales Flag
quelle
Beispiel mit
Array.filter
:quelle
Warum ersetzen Sie nicht das
,
Komma undsplit('')
die Zeichenfolge wie diese, was['0', '1']
außerdem dazu führt, dass Sie das Ergebnis umbrechen, um dasparseInt()
Element in einen ganzzahligen Typ umzuwandeln?quelle