簡體   English   中英

JavaScript:替換數組中的字符串

[英]JavaScript: replace string inside array

也許我犯了一個非常愚蠢的錯誤,但事實確實如此。 我想將[ 'hr' ]轉換為[ '* * *' ]所以我這樣做了:

var hr = jsonml[i]

console.log(hr)
// outputs: [ 'hr' ]
hr.replace(/hr/g, '* * *')

但是我得到這個錯誤:

TypeError:對象hr沒有方法“替換”

我究竟做錯了什么?

由於hrArray ,請嘗試執行此操作

hr[0] = hr[0].replace(/hr/g, '* * *');

要么

hr = hr[0].replace(/hr/g, '* * *');

hr是一個包含一個字符串元素的數組。 我會這樣:

if (hr.length > 0)
    hr[0] = hr[0].replace(/hr/g, '* * *');

編輯:也許

for (var i = 0; i < hr.length; i++)
    hr[i] = hr[i].replace(/hr/g, '* * *');

如果hr可能包含多個元素

您可以看到對象的類型:

alert(typeof hr);

您會看到該對象是一個數組!

用這個 :

for (i = 0; i < hr.length; i++) {
  var result = hr[i].replace(/hr/g, '* * *');
}

只是為了提供一個實際上可以滿足OP要求的答案(不多也不少):

hr = [hr[0].replace('hr', '* * *')];

在這種情況下,替換時無需使用正則表達式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM