Thêm ký tự vào một chuỗi trong Javascript


108

Tôi cần thêm các ký tự For Loop vào một chuỗi trống. Tôi biết rằng bạn có thể sử dụng hàm concat trong Javascript để thực hiện nối với chuỗi

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

nhưng với ví dụ của tôi nó không hoạt động. Bất kỳ ý tưởng làm thế nào để làm điều đó theo cách khác?

mã của tôi :

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

1
Nếu danh sách là một mảng, thì không sử dụng vòng lặp for...inthông thường for. Thông tin thêm tại đây: developer.mozilla.org/en/JavaScript/Reference/Statements/… Btw. nếu bạn nhìn kỹ vào cả hai ví dụ của bạn, bạn có thể thấy sự khác biệt ( name=first_name.concat(last_name)vstext.concat(list[member])
Felix Kling

Câu trả lời:


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

Một cách tốt hơn có thể là lấy các khóa từ đối tượng thay vì lặp lại ( for...in) và tham gia vào các khóa đó: var text = ""; text += Object.keys(list).join('')
Blazes

50

Bạn cũng có thể tiếp tục thêm chuỗi vào một chuỗi hiện có như sau:

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

kết quả sẽ là -> Hello World!


7

chỉ đơn giản là sử dụng +toán tử. Javascript nối các chuỗi với +


5

Có vẻ như bạn muốn sử dụng join, ví dụ:

var text = list.join();

1
Chỉ hoạt động cho mảng. Nhưng tôi sợ rằng OP sử dụng for...inđể duyệt một mảng, vì vậy đề xuất của bạn có thể hoạt động.
Felix Kling

5

Để sử dụng String.concat, bạn cần thay thế văn bản hiện có của mình, vì hàm không hoạt động theo tham chiếu.

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

Tất nhiên, các gợi ý join () hoặc + = do những người khác đưa ra cũng sẽ hoạt động tốt.


Đây là một giải pháp tốt vì nó giúp mở cửa cho chuỗi chức năng
Mark Carpenter Jr

3

Sử dụng đơn giản text = text + string2

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.