繁体   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