2016-12-05 12 views
5

tôi nhận được biểu tượng sau khi tôi in mảng của tôi để an ủi: "<br>↵"Chuỗi thay thế "<br> ↵" bằng dấu phẩy trong javascript mảng

Làm thế nào để thay thế tất cả các trường hợp của "<br>↵" bằng dấu phẩy trong một mảng JS ?

ví dụ:

["767 5th Ave<br>↵New York, NY 10153, USA", "677 5th Ave<br>↵New York, NY 10022, USA"] 

để

["767 5th Ave, New York, NY 10153, USA", "677 5th Ave, New York, NY 10022, USA"] 

Giá trị được lấy từ:

<address class="main"> 
    <p>767 5th Ave<br> 
    New York, NY 10153, USA</p> 
</address> 

với đoạn mã sau:

$("address.main p:not(:empty)").each(function() { 
    addresses_google[0].push($(this).html()); 
}); 
+0

Vì vậy, vòng qua nó và làm một chuỗi thay thế trên mỗi chỉ số – epascarello

Trả lời

4

var addresses = ["767 5th Ave<br>↵New York, NY 10153, USA", "677 5th Ave<br>↵New York, NY 10022, USA"]; 
 

 
var formattedAddresses = addresses.map(function(str) { 
 
    return str.replace(/<br>\u21b5/g, ", "); 
 
}); 
 

 
console.log(formattedAddresses);

Cập nhật:

Dường như có html bị đẩy vào mảng này với ngắt dòng (hiểu là ↵ biểu tượng, sử dụng để hình dung một dòng mới) so với đồng bằng chuỗi literals.

$("address.main p:not(:empty)").each(function() { 
    addresses_google[0].push($(this).html()); 
}); 

Bây giờ chúng ta biết điều này là kết quả của một vòng lặp, chúng ta có thể làm được điều này tất cả trong khối mã của vòng lặp đó mà không cần thậm chí tạo ra một mảng mới:

$("address.main p:not(:empty)").each(function() { 
    var breaks = /<br>(\r\n|\n|\r)/gm; 
    var formattedHTML = this.innerHTML.replace(breaks, ', '); 

    addresses_google[0].push(formattedHTML); 
}); 
+0

Tôi nhận được kết quả tương tự. – Pim

+0

Xin lỗi. Thử ngay bây giờ. Tôi đã cập nhật câu trả lời của mình. –

+0

Vẫn như cũ! – Pim

Các vấn đề liên quan