Dodaj znaki do ciągu w JavaScript

108

Muszę dodać znaki pętli For do pustego ciągu. Wiem, że możesz użyć funkcji concat w JavaScript, aby wykonać konkatacje ze stringami

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

ale na moim przykładzie to nie działa. Masz pomysł, jak to zrobić w inny sposób?

mój kod:

    var text ="";
    for (var member in list) {
            text.concat(list[member]);
    }
Bruno
źródło
1
Jeśli lista jest tablicą, nie używaj for...intylko zwykłej forpętli. Więcej informacji tutaj: developer.mozilla.org/en/JavaScript/Reference/Statements/ ... Btw. jeśli przyjrzysz się uważnie obu swoim przykładom, zobaczysz różnicę (w name=first_name.concat(last_name)porównaniu ztext.concat(list[member])
Felix Kling

Odpowiedzi:

154
var text ="";
for (var member in list) {
        text += list[member];
}
Blazes
źródło
Lepszym sposobem może być pobranie kluczy z obiektu zamiast iteracji ( for...in) i dołączenie do tych: var text = ""; text += Object.keys(list).join('')
Blazes
50

Możesz także dodawać ciągi do istniejącego ciągu, na przykład:

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

wynik byłby -> Hello World!

Matt Sich
źródło
7

po prostu użył +operatora. JavaScript łączy ciągi znaków z +

neebz
źródło
5

Wygląda na to, że chcesz użyć join, na przykład:

var text = list.join();
Walter Rumsby
źródło
1
Działa tylko dla tablic. Ale obawiam się, że OP używa for...indo przechodzenia przez tablicę, więc twoja sugestia prawdopodobnie działa.
Felix Kling
5

Aby użyć String.concat, musisz zamienić istniejący tekst, ponieważ funkcja nie działa przez odwołanie.

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

Oczywiście sugestie join () lub + = oferowane przez innych również będą działać dobrze.

Brett Zamir
źródło
Jest to dobre rozwiązanie, ponieważ pozostawia otwarte drzwi do łączenia funkcji
Mark Carpenter Jr
3

Proste użycie tekst = tekst + ciąg 2

sra
źródło