String. prototype. repeat()
Renvoie une nouvelle chaîne composée du nombre indiqué de répétitions de l’original.
- Renvoie
- Une nouvelle chaîne contenant
countcopies de l’original. - Modifie l’original
- Non
Exemple
#console.log('=-'.repeat(10))
console.log('★'.repeat(4))
console.log('ha'.repeat(3))Définition et utilisation
#La méthode repeat() assemble une chaîne avec elle-même autant de fois que vous l’indiquez. "ab".repeat(3) donne "ababab", et repeat(0) renvoie une chaîne vide.
Elle sert à générer des séparateurs, des indentations, des barres de progression simples, des étoiles dans des évaluations, ou à masquer un fragment de texte. Au lieu d’une boucle qui concatène des caractères, un seul appel suffit.
Le nombre de répétitions doit être non négatif et fini. Une valeur négative ou Infinity provoque une erreur RangeError, et les décimales sont tronquées, donc 2.7 se comporte comme 2. L’original reste inchangé.
Syntaxe
#string.repeat(count)Paramètres
#count
number
Nombre de répétitions, à partir de0. Une valeur décimale est tronquée, et une valeur négative ou infinie lève uneRangeError.
Plus d’exemples
#function progressBar(done, total) {
const filled = Math.round((done / total) * 10)
return '█'.repeat(filled) + '░'.repeat(10 - filled) + ` ${done}/${total}`
}
console.log(progressBar(3, 10))
console.log(progressBar(7, 7))const tree = [
['Cours', 0],
['Module 1', 1],
['Leçon 1', 2],
['Module 2', 1]
]
for (const [label, depth] of tree) {
console.log(' '.repeat(depth * 2) + label)
}console.log('ab'.repeat(2.7))
console.log('ab'.repeat(0).length)
try {
'ab'.repeat(-1)
} catch (error) {
console.log(error.name)
}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
#- Un nombre de répétitions calculé à partir de données, comme
10 - filled, peut devenir négatif. Protégez-le avecMath.max(0, n)pour éviter uneRangeError. - Un nombre de répétitions très élevé crée une chaîne énorme et peut bloquer la page. Le moteur a lui aussi une limite supérieure de longueur de chaîne.
Entrées associées
#- String.prototype.padStart()Complète une chaîne à gauche avec le texte donné jusqu’à ce qu’elle atteigne la longueur indiquée. Idéal pour les zéros initiaux.
- String.prototype.padEnd()Complète une chaîne à droite avec le texte donné jusqu’à ce qu’elle atteigne la longueur indiquée.
- Template literalsDes templates de texte entre guillemets inversés : ils insèrent des valeurs via ${} et peuvent s’étendre sur plusieurs lignes.
- Array.prototype.fill()Remplit un tableau (ou une partie de celui-ci) avec une seule valeur.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.