169 votes

Faire précéder le texte au début de la chaîne

Quelle est la méthode la plus rapide pour ajouter une nouvelle valeur au début d'une chaîne de caractères ?

325voto

Thor Jacobsen Points 2042
var mystr = "Doe";
mystr = "John " + mystr;

Ça ne vous conviendrait pas ?

1 votes

Attendez, est-ce qu'utiliser += ne marcherait pas aussi bien ou est-ce que ça l'ajouterait à la fin ?

6 votes

@JuicY_Burrito += Ajoute à la fin du texte.

173voto

Gaby aka G. Petrioli Points 85891

Vous pourriez le faire de cette façon

var mystr = 'is my name.';
mystr = mystr.replace (/^/,'John ');

console.log(mystr);

décharge de responsabilité : http://xkcd.com/208/


Wait, forgot to escape a space.  Wheeeeee taptaptap eeeeee.

88voto

KyleMit Points 6937

Puisque la question est de savoir quel est le le plus rapide j'ai pensé que je pourrais ajouter quelques mesures de performance.

TL;DR Le gagnant, par une large majorité, est le + l'opérateur, et s'il vous plaît ne jamais utiliser de regex

https://jsperf.com/prepend-text-to-string/1

enter image description here

18voto

Griffi Points 163

ES6 :

let after = 'something after';
let text = `before text ${after}`;

11 votes

Bien que cet extrait de code puisse résoudre la question, y compris une explication contribue vraiment à améliorer la qualité de votre article. N'oubliez pas que vous répondez à la question pour des lecteurs futurs, et que ces personnes pourraient ne pas connaître les raisons de votre suggestion de code. Essayez également de ne pas encombrer votre code de commentaires explicatifs, cela réduit la lisibilité du code et des explications !

2 votes

ES6 : Interpolation de chaînes de caractères

8voto

chirag Points 91

Vous pouvez aussi le faire de cette façon

"".concat("x","y")

4 votes

Et pourquoi pas "x".concat("y") ? Juste pour ajouter une autre instanciation de chaîne et le rendre plus lent ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X