.trim() ist keine Funktion

Habe ich eine sehr einfache Zeichenfolge, die kann enthält eine Liste, die kann eventuell Leerzeichen:

string = "one, two,three ";

Will ich erstmal split den string von , zu erstellen Sie ein array mit drei strings und entfernen Sie alle whitespace-Zeichen mit .trim()

array = string.split(',').trim();

gibt "one","two","three"

aber manchmal ist es fehl und gibt einen Fehler zurück .trim() is not a function

Habe ich gelesen, dass .trim() gibt eine neue Zeichenfolge nicht eine beschnittene version des aktuellen Strings. So habe ich eine for-Schleife zu tun, die oben:

array = string.split(',');
for (var i = 0; i < array.length; i++) {
    var item = array[i].trim();
    array.push(item);
}

gibt "one","two","three"

meine Frage ist, kann jemand erklären, warum ich immer die Fehler nur manchmal? wenn das array nicht geändert, aus meinem Beispiel und kann jemand bieten eine sauberere Lösung für mein Problem beheben.

  • Sie sollten immer TypeError: array.split is not a function jedes mal, so würde es nie den Fehler Sie sagen, Sie sind immer
  • which returns "one","two","three" - Nein ist es nicht ... es wird auch beklagt, dass array.split ist nicht eine Funktion - ich würde vorschlagen, wenn Sie Hilfe benötigen mit code, wenn Sie es vereinfachen, stellen Sie sicher, es zeigt den gleichen Fehler, der code ist mit
  • Die Methode split() teilt einen String-Objekt in ein array von Zeichenketten, die durch die Trennung der string in Teilstrings, die aus der doc
  • Es gibt keine split - Methode auf ein array. Auch wenn Sie mit einem string statt einem array, dann die split Methode gibt ein array zurück, und es gibt keine trim - Methode auf ein array. Wenn Sie drücken ein Element in dem array, das du Durchlaufen, dann würden Sie nie erreichen das Ende des Arrays, es wäre eine Endlosschleife. Also, keiner der Codes, die Ihnen zeigen würde, jemals zurückzukehren überhaupt nichts.
  • wenn die erste Zeile ist ein Tippfehler und sollte array = "one, two,three "; - dann Ihr letztes Stück code ausgeführt, bis der browser hat genug und bittet Sie, stoppen Sie das Skript ausführen
  • sorry alle, string.split(',').trim(); gibt ein array zurück, so dass ich nur schlecht mit dem Namen " mein Beispiel, das original der var ist ein string, wie viel Sie vorschlagen.
  • ja, es war ein Tippfehler, wie ich war, umschreiben eigentliche code, um ein einfacher zu Lesen zB.. ging gut, als Sie sagen können. Lust auf die Beantwortung der aktualisiert Sie scheinen kenntnisreich über das Thema.

InformationsquelleAutor gardni | 2015-10-07
Schreibe einen Kommentar