Ich muss das letzte Element eines geteilten Arrays mit mehreren Trennzeichen erhalten. Die Trennzeichen sind Kommas und Leerzeichen. Wenn keine Trennzeichen vorhanden sind, sollte die ursprüngliche Zeichenfolge zurückgegeben werden.
Wenn die Zeichenfolge lautet "Wie geht es dir heute?" es sollte "heute" zurückkehren?
Wenn die Eingabe "Hallo" wäre, sollte die Ausgabe "Hallo" sein.
Wie kann ich das in JavaScript machen?
javascript
split
JJJ
quelle
quelle
pieces.pop()
das letzte Element Ihres Arrays abrufen.var last = str.split(/[\s,]+/).pop()
Es gibt einen Einzeiler für alles. :) :)
quelle
split
Aufruf erstellt wird, wird es sowieso nicht beibehalten. Die ursprüngliche Zeichenfolge wird nicht geändert, indem das Element aus dem Array entfernt wird.{1,}
, dh[, ]+
mit einem oder mehreren der Zeichen in der Menge (Komma und Leerzeichen) übereinstimmt. Es ist nützlich, wenn Sie alle Wörter aus der Zeichenfolge möchten, aber wenn Sie nur das letzte Wort möchten, macht dies keinen funktionalen Unterschied. Es reduziert nur den Overhead, da weniger Zeichenfolgen im Array vorhanden sind.quelle
.split(',').pop()
funktioniert dies jedoch für das letzte Element in einer durch Kommas getrennten Zeichenfolge. Sag nur, weil ich von Guffas großartiger Antwort in die Irre geführt wurde. Ich habe sie einfach ignoriert, weil ich keinen regulären Ausdruck brauchte und dachte, der Trick wäre da! : PSie können auch in Betracht ziehen, Ihr Array umzukehren und das erste Element zu übernehmen. Auf diese Weise müssen Sie nicht über die Länge Bescheid wissen, aber es bringt keine wirklichen Vorteile und den Nachteil, dass der umgekehrte Vorgang bei großen Arrays länger dauern kann:
Es ist zwar einfach, ändert aber auch das betreffende ursprüngliche Array. Das könnte ein Problem sein oder auch nicht.
Referenz: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse
Wahrscheinlich möchten Sie dies jedoch verwenden:
quelle
.pop()
Methode ist die beste Antwort, die ich bisher gesehen habe. Deshalb wurde es geschaffen!Das beste überhaupt und mein Favorit.
quelle
Und wenn Sie kein Array erstellen möchten ...
Die Aufschlüsselung in Englisch lautet:
Das Ersetzen sagt nur, ersetze die gesamte Zeichenfolge durch das Zeug nach dem letzten Trennzeichen.
So können Sie sehen, wie dies allgemein angewendet werden kann. Beachten Sie, dass die ursprüngliche Zeichenfolge nicht geändert wird.
quelle
quelle
Sie können direkt auf den Array-Index zugreifen:
var csv = 'zero,one,two,three'; csv.split(',')[0]; //result: zero csv.split(',')[3]; //result: three
quelle