[英]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.