Додайте символи до рядка в Javascript


108

Мені потрібно додати символи For Loop до порожнього рядка. Я знаю, що ви можете використовувати функцію concat в Javascript, щоб робити конмати з рядками

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

але з моїм прикладом це не працює. Будь-яка ідея, як зробити це іншим способом?

мій код:

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

1
Якщо список є масивом, не використовуйте, for...inа звичайний forцикл. Більше інформації тут: developer.mozilla.org/uk/JavaScript/Reference/Statements/… Btw. якщо уважно придивитися до обох ваших прикладів, ви можете побачити різницю ( name=first_name.concat(last_name)протиtext.concat(list[member])
Фелікс Клінг

Відповіді:


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

Кращим способом може бути отримання ключів від об’єкта замість ітерації ( for...in) та приєднання до них: var text = ""; text += Object.keys(list).join('')
Blazes

50

Ви також можете продовжувати додавати рядки до вже наявного рядка таким чином:

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

результат був би -> Hello World!


7

просто використовував +оператор. Javascript стискає рядки з +


5

Це звучить так, як ви хочете використовувати join, наприклад:

var text = list.join();

1
Працює лише для масивів. Але я боюся, що ОП використовує for...inдля обходу масиву, тому, напевно, ваша пропозиція працює.
Фелікс Клінг

5

Щоб використовувати String.concat, вам потрібно замінити існуючий текст, оскільки функція не діє за посиланням.

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

Звичайно, також буде добре працювати пропозиції (join) або + =, запропоновані іншими.


Це хороше рішення, оскільки він залишає двері відкритими для функціонування ланцюга
Марк Карпентер-молодший

3

Простий у використанні текст = текст + рядок2

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.