Comment puis-je, en utilisant Javascript, créer une fonction qui réduira la chaîne passée en argument, à une longueur spécifiée, également passée en argument. Par exemple:
var string = "this is a string";
var length = 6;
var trimmedString = trimFunction(length, string);
// trimmedString should be:
// "this is"
Quelqu'un a des idées? J'ai entendu quelque chose sur l'utilisation de substring, mais je n'ai pas tout à fait compris.
javascript
string
trim
Lucio
la source
la source
Réponses:
Pourquoi ne pas simplement utiliser substring ...
string.substring(0, 7);
Le premier argument (0) est le point de départ. Le deuxième argument (7) est le point final (exclusif). Plus d'infos ici.la source
string.substr
. Il n'a pas de comportement étrange, malgré le commentaire précédent.substring(from, to)
prend des indices . .substr (from, length) ne le fait pas, De plus .substr () avait une incohérence dans IE lorsque le premier argument est négatif.Copier le commentaire de Will dans une réponse, car je l'ai trouvé utile:
Merci Will.
Et un jsfiddle pour tous ceux qui se soucient https://jsfiddle.net/t354gw7e/ :)
la source
string.substring(0, length)
dans le cas else, puisque la chaîne est garantie d'être <= 20 caractères à ce stade, utilisez simplementstring
.Je suggère d'utiliser une extension pour la netteté du code. Notez que l'extension d'un prototype d'objet interne peut potentiellement perturber les bibliothèques qui en dépendent.
Et utilisez-le comme:
la source
.trim()
. Cela peut provoquer un comportement inattendu dans d'autres bibliothèques et outils que vous pouvez utiliser.https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substr
À partir du lien:
la source
Un peu tard ... j'ai dû répondre. C'est la manière la plus simple.
Pas à pas. .padEnd - Garantit la longueur de la chaîne
"La méthode padEnd () remplit la chaîne actuelle avec une chaîne donnée (répétée, si nécessaire) afin que la chaîne résultante atteigne une longueur donnée. Le remplissage est appliqué à partir de la fin (à droite) de la chaîne actuelle. La source de cet interactif exemple est stocké dans un référentiel GitHub. " source: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
.substring - limite la longueur dont vous avez besoin
Si vous choisissez d'ajouter des ellipses, ajoutez-les à la sortie.
J'ai donné 4 exemples d'utilisations courantes de JavaScript. Je recommande vivement d'utiliser le prototype String avec surcharge pour le support hérité. Cela facilite grandement la mise en œuvre et le changement par la suite.
la source
padEnd
fait.Cas d'utilisation,
la source
Je pense que vous devriez utiliser ce code :-)
la source
23
caractères longs, plus longs que le17
paramètre par défaut plus les4
caractères du suffixe" ..."
. Cela semble étrange.