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]);
    }
Bruno
la source
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];
}
Les flammes
la source
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!

Matt Sich
la source
7

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

neebz
la source
5

Il semble que vous souhaitiez utiliser join, par exemple:

var text = list.join();
Walter Rumsby
la source
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.

Brett Zamir
la source
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

sra
la source