[英]JavaScript: replace string inside array
也許我犯了一個非常愚蠢的錯誤,但事實確實如此。 我想將[ 'hr' ]
轉換為[ '* * *' ]
所以我這樣做了:
var hr = jsonml[i]
console.log(hr)
// outputs: [ 'hr' ]
hr.replace(/hr/g, '* * *')
但是我得到這個錯誤:
TypeError:對象hr沒有方法“替換”
我究竟做錯了什么?
由於hr
是Array
,請嘗試執行此操作
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.