2017-07-26 1 views
0

Ich habe die folgende Zeichenfolge:Javascript - Zerlegt einen String durch Kommas getrennt (beste)

Apfel, Banane, Orange

und ich möchte nur das erste Wort dieser Zeichenfolge erhalten und vor dem ersten Komma:

In diesem Beispiel ist es Apfel

Dafür habe ich die unten getan :

Es funktioniert gut, aber ich frage mich, ob es einen besseren Weg dazu gibt.

+0

Auf diese Weise ist absolut in Ordnung . –

+0

'string.substring (0, string.indexOf (','))'? – TryingToImprove

Antwort

3

Anstatt die Abbildung der gesamten Zeichenfolge in ein Array, könnten Sie einfach substring verwenden togther mit indexOf

var str = "apple, banana, orange"; 
var firstWord = str.substring(0, str.indexOf(',')) 

substring einen Teil Ihrer Zeichenfolge fra indexA zu indexB nehmen und indexOf geben Sie den Index des ersten Auftretens eines Musters (in diesem Fall ein ,).

Ich denke, dieser Ansatz schneller sein würde, da es nicht in einer Schleife durch die gesamte Zeichenfolge muss sich


Teilzeichenfolge https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/substring

indexOf https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf

+0

Sauber und ordentlich, aber ich würde gerne mehr verstehen, wenn es dir nichts ausmacht, was genau los ist, was ist, wenn ich Banane mit deiner Herangehensweise bekommen will, ich glaube es würde nicht funktionieren ..? –

+0

@ HamzaL.Ich habe die Antwort aktualisiert. Wenn du den zweiten Gegenstand bekommen willst, kannst du den Array-Weg (einfach) benutzen oder deine eigenen Algorithmen implementieren, um das zu finden, was du brauchst (härter). – TryingToImprove

1

Ja, so hätte ich es auch gemacht. Kurz: string.split(",")[0]

Verwandte Themen