Javascript'te bir dizeye karakterler ekleyin


108

Boş bir dizeye For Loop karakterleri eklemem gerekiyor. Dizelerle concat yapmak için Javascript'teki concat işlevini kullanabileceğinizi biliyorum

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

ama benim örneğimle işe yaramıyor. Başka bir şekilde nasıl yapılacağına dair bir fikrin var mı?

benim kodum:

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

1
Liste bir diziyse, for...innormal bir fordöngü kullanmayın. Daha fazla bilgiyi burada bulabilirsiniz: developer.mozilla.org/en/JavaScript/Reference/Statements/… Btw. Her iki örneğinize de yakından bakarsanız, farkı görebilirsiniz ( name=first_name.concat(last_name)vstext.concat(list[member])
Felix Kling

Yanıtlar:


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

Anahtarları yinelemek ( for...in) yerine nesneden almak ve bunlara katılmak daha iyi bir yol olabilir : var text = ""; text += Object.keys(list).join('')
Blazes

50

Ayrıca mevcut bir dizeye şu şekilde dizeler eklemeye devam edebilirsiniz:

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

sonuç şöyle olacaktır -> Hello World!


7

sadece +operatörü kullandı . Javascript, dizeleri +


5

Kullanmak istediğiniz gibi görünüyor join, örneğin:

var text = list.join();

1
Yalnızca diziler için çalışır. Ama korkarım ki OP for...inbir diziyi geçmek için kullanır , bu yüzden öneriniz muhtemelen işe yarar.
Felix Kling

5

String.concat'i kullanmak için, mevcut metninizi değiştirmeniz gerekir, çünkü işlev gönderime göre hareket etmez.

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

Elbette, başkalarının sunduğu join () veya + = önerileri de iyi sonuç verecektir.


Bu iyi bir çözüm çünkü işlev zincirleme için kapıyı açık bırakıyor
Mark Carpenter Jr 18

3

Basit kullanım metni = metin + dize2

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.