String.prototype.trimEnd()

Supprime les espaces blancs uniquement à la fin de la chaîne, y compris les retours à la ligne finaux.

Renvoie
Une nouvelle chaîne sans espaces blancs à la fin.
Modifie l’original
Non
Sur cette page

Exemple

#
JavaScript
const codeLine = '    return points   '

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

Définition et utilisation

#

La méthode trimEnd() renvoie une nouvelle chaîne sans espaces blancs à la fin : espaces, tabulations, retours à la ligne et autres espaces. Le début du texte, y compris son indentation, reste identique, et l’original n’est pas modifié.

Un usage typique consiste à nettoyer un texte dont le début compte mais pas la fin : des lignes de code indentées, des lignes lues depuis un fichier, ou le contenu d’un champ textarea au bout duquel l’utilisateur a laissé quelques lignes vides.

L’ancien nom de cette méthode est trimRight(). Elle fonctionne de façon identique, mais utilisez trimEnd() dans du code neuf : elle forme une paire cohérente avec trimStart() et correspond aux noms padStart() et padEnd().

Syntaxe

#
Syntaxe
string.trimEnd()

Plus d’exemples

#
Lignes vides à la fin d’un message
JavaScript
const message = 'Salut !\nJe rends le projet.\n\n\n'

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

Les trois retours à la ligne finaux créaient trois lignes vides. Après trimEnd(), il ne reste que les deux lignes contenant du texte.

Nettoyer des lignes en conservant l’indentation
JavaScript
const lines = ['let a = 1   ', '  let b = 2\t', '']

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

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • Avant de comparer un texte venant d’un fichier ou d’un textarea, retirez les retours à la ligne finaux avec trimEnd(). Un \n invisible à la fin est une cause fréquente pour laquelle deux chaînes « identiques » ne sont pas égales.
  • Pour retirer des caractères précis à la fin, comme des points, trimEnd() ne suffit pas. Utilisez une expression régulière : text.replace(/\.+$/, "").

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.