JavaScriptNapisy

String.prototype.trimEnd()

Usuwa białe znaki tylko z końca napisu, w tym końcowe znaki nowej linii.

Zwraca
Nowy napis bez białych znaków na końcu.
Zmienia oryginał
Nie
Na tej stronie

Przykład

#
JavaScript
const codeLine = '    return points   '

console.log(`[${codeLine.trimEnd()}]`)
console.log(`[${codeLine.trim()}]`)
Konsola
[ return points]
[return points]

Definicja i zastosowanie

#

Metoda trimEnd() zwraca nowy napis bez białych znaków na końcu: spacji, tabulatorów, znaków nowej linii i innych odstępów. Początek tekstu, razem z wcięciem, zostaje taki sam, a oryginał się nie zmienia.

Typowe zastosowanie to sprzątanie tekstu, w którym początek ma znaczenie, a koniec nie: linii kodu z wcięciami, wierszy wczytanych z pliku albo treści z pola textarea, na której końcu użytkownik zostawił kilka pustych linii.

Starsza nazwa tej metody to trimRight(). Działa identycznie, ale w nowym kodzie używaj trimEnd(), która tworzy spójną parę z trimStart() i pasuje do nazw padStart() oraz padEnd().

Składnia

#
Składnia
string.trimEnd()

Więcej przykładów

#
Puste linie na końcu wiadomości
JavaScript
const message = 'Cześć!\nOddaję projekt.\n\n\n'

console.log(message.split('\n').length)
console.log(message.trimEnd().split('\n').length)
Konsola
5
2

Trzy końcowe znaki nowej linii tworzyły trzy puste wiersze. Po trimEnd() zostały tylko dwa wiersze z treścią.

Czyszczenie wierszy z zachowaniem wcięć
JavaScript
const lines = ['let a = 1   ', '  let b = 2\t', '']

console.log(lines.map((line) => line.trimEnd()))
Konsola
['let a = 1', ' let b = 2', '']

Obsługa przeglądarek

#

Szeroko dostępne

Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.

  • Chrome
  • Edge
  • Firefox
  • Safari

Dobre praktyki

#
  • Przed porównaniem tekstu z pliku albo z textarea usuń końcowe znaki nowej linii przez trimEnd(). Niewidoczne \n na końcu to częsty powód, dla którego dwa „identyczne” napisy nie są równe.
  • Jeśli chcesz usunąć z końca konkretne znaki, np. kropki, trimEnd() nie wystarczy. Użyj wyrażenia regularnego: text.replace(/\.+$/, "").

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.