Aggiungi caratteri a una stringa in Javascript


108

Devo aggiungere un carattere For Loop a una stringa vuota. So che puoi usare la funzione concat in Javascript per eseguire concatenazioni con le stringhe

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

ma con il mio esempio non funziona. Qualche idea su come farlo in un altro modo?

il mio codice:

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

1
Se list è un array, non utilizzare for...inma un forciclo normale . Maggiori informazioni qui: developer.mozilla.org/en/JavaScript/Reference/Statements/… Btw. se osservi attentamente entrambi i tuoi esempi, puoi vedere la differenza ( name=first_name.concat(last_name)vstext.concat(list[member])
Felix Kling,

Risposte:


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

Un modo migliore potrebbe essere quello di ottenere le chiavi dall'oggetto invece di iterare ( for...in), e unirsi a quelli: var text = ""; text += Object.keys(list).join('')
Blaze

50

Puoi anche continuare ad aggiungere stringhe a una stringa esistente in questo modo:

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

il risultato sarebbe -> Hello World!


7

ha semplicemente usato l' +operatore. Javascript concatena le stringhe con +


5

Sembra che tu voglia usare join, ad esempio:

var text = list.join();

1
Funziona solo per gli array. Ma temo che l'OP utilizzi for...inper attraversare un array, quindi il tuo suggerimento probabilmente funziona.
Felix Kling

5

Per utilizzare String.concat, è necessario sostituire il testo esistente, poiché la funzione non agisce per riferimento.

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

Naturalmente, anche i suggerimenti join () o + = offerti da altri funzioneranno bene.


Questa è una buona soluzione perché lascia la porta aperta per il concatenamento di funzioni
Mark Carpenter Jr

3

Testo di uso semplice = testo + stringa2

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.