La méthode la plus simple que je connaisse est la suivante :
function stripTrailingSlash(str){
if(str.charAt(str.length-1) == "/"){ str = str.substr(0, str.length - 1);}
return str
}
Mise à jour de la version ES2015.
const stripTrailingSlash = str=>str.charAt(str.length-1)=="/"?str.substr(0,str.length-1):str;
Il vérifiera alors s'il y a un / à l'extrémité et s'il y en a un, il l'enlèvera. Si ce n'est pas le cas, elle vous rendra votre chaîne telle qu'elle était.
Correction du calcul de l'index basé sur zéro sur la chaîne de caractères.
EDITAR: Comme il y avait un commentaire à une réponse, il y en a maintenant d'autres qui font la même chose n'utilisez pas sub string pour une comparaison, vous créez une toute nouvelle chaîne en mémoire (au bas niveau) quand vous pouvez utiliser charAt
pour obtenir un seul caractère, il y a beaucoup moins de mémoire pour faire votre comparaison, Javascript est toujours JIT et ne peut pas faire les optimisations au niveau de n'importe quel langage, bien qu'un compilateur puisse le faire, il ne réparera pas cela pour vous.
1 votes
Duplication possible de JQuery vérifie et supprime le slash de la fin de l'URL lue