Ich habe unten Zeichenfolge -
var a = "1,2,3,4";
wenn ich es tue -
var b = a.split(',');
Ich verstehe b
als["1", "2", "3", "4"]
kann ich etwas tun, um b
als zu bekommen [1, 2, 3, 4]
?
javascript
arrays
Ashwin
quelle
quelle
Sie können
Array.map
jedes Element in eine Zahl umwandeln.Überprüfen Sie die Dokumente
Oder eleganter, wie vom Benutzer hervorgehoben: thg435
Wo
Number()
würde der Rest erledigt: hier überprüfenHinweis: Für ältere Browser, die dies nicht unterstützen
map
, können Sie eine Implementierung wie folgt hinzufügen:quelle
map(Number)
."1.1,2,3".split(",").map(Number)
ist[1.1, 2, 3]
während"1.1,2,3".split(",").map(item => parseInt(item, 10))
ist[1, 2, 3]
Ordnen Sie es ganzen Zahlen zu:
map
prüft jedes Array-Element, übergibt es an die bereitgestellte Funktion und gibt ein Array mit den Rückgabewerten dieser Funktion zurück.map
ist in alten Browsern nicht verfügbar, aber die meisten Bibliotheken wie jQuery oder Unterstrich enthalten eine browserübergreifende Version.Oder wenn Sie Loops bevorzugen:
quelle
+string
wird versuchen, die Zeichenfolge in eine Zahl zu ändern. Verwenden Sie dann dieArray.map
Funktion, um jedes Element zu ändern.quelle
Eine kürzere Lösung: Ordnen Sie die Argumente zu und übergeben Sie sie an
Number
:quelle
Array.from () für Details finden Sie unter MDN
b
ist ein Array von Zahlenquelle
quelle
Als Variante können Sie Combiantion
_.map
und_.ary
Methoden aus der lodash-Bibliothek verwenden . Die gesamte Transformation wird kompakter sein. Hier ist ein Beispiel aus der offiziellen Dokumentation :quelle
Es ist nicht erforderlich, Lambdas zu verwenden und / oder
radix
Parameter anzugebenparseInt
, sondern nurparseFloat
oderNumber
stattdessen.Gründe dafür:
Es funktioniert:
Es ist kürzer.
Es ist ein kleines bisschen schneller und nutzt den Cache, wenn
parseInt
- Ansatz - nicht :Hinweis: In Firefox
parseInt
funktioniert es ungefähr viermal schneller, aber immer noch langsamer als andere. Insgesamt:+e
<Number
<parseFloat
<parseInt
quelle
Der Unterstrich js Weg -
quelle
Matt Zeunerts Version mit Arraw-Funktion (ES6)
quelle
Da alle Antworten
NaN
enthalten sein können, dachte ich, ich würde hinzufügen, dass Sie dies tun können, wenn Sie schnell ein Array gemischter Werte in Zahlen umwandeln möchten.quelle
Einzeiler
quelle