Ajouter des caractères à une chaîne en Javascript


108

Je dois ajouter des caractères For Loop à une chaîne vide. Je sais que vous pouvez utiliser la fonction concat en Javascript pour faire des concats avec des chaînes

var first_name = "peter"; 
var last_name = "jones"; 
var name=first_name.concat(last_name) 

mais avec mon exemple cela ne fonctionne pas. Une idée comment faire autrement?

mon code:

    var text ="";
    for (var member in list) {
            text.concat(list[member]);
    }

1
Si list est un tableau, n'utilisez for...inqu'une forboucle normale . Plus d'informations ici: developer.mozilla.org/en/JavaScript/Reference/Statements /... Btw. si vous regardez attentivement vos deux exemples, vous pouvez voir la différence ( name=first_name.concat(last_name)vstext.concat(list[member])
Felix Kling

Réponses:


154
var text ="";
for (var member in list) {
        text += list[member];
}

Un meilleur moyen pourrait être d'obtenir les clés de l'objet au lieu d'itérer ( for...in), et de les rejoindre: var text = ""; text += Object.keys(list).join('')
Blazes le

50

Vous pouvez également continuer à ajouter des chaînes à une chaîne existante comme ceci:

var myString = "Hello ";
myString += "World";
myString += "!";

le résultat serait -> Hello World!


7

simplement utilisé l' +opérateur. Javascript concate les chaînes avec +


5

Il semble que vous souhaitiez utiliser join, par exemple:

var text = list.join();

1
Fonctionne uniquement pour les tableaux. Mais j'ai peur que l'OP utilise for...inpour traverser un tableau, donc votre suggestion fonctionne probablement.
Felix Kling

5

Pour utiliser String.concat, vous devez remplacer votre texte existant, car la fonction n'agit pas par référence.

var text ="";
for (var member in list) {
        text = text.concat(list[member]);
}

Bien sûr, les suggestions join () ou + = proposées par d'autres fonctionneront également très bien.


C'est une bonne solution car elle laisse la porte ouverte au chaînage des fonctions
Mark Carpenter Jr

3

Utilisation simple text = texte + chaîne2

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.