使用.replace警告数组字符串

时间:2017-11-09 16:40:16

标签: javascript

为什么我打印一个数组(转换为字符串).replace函数只适用于第一个,

var messages = ["a", "b", "c"];

alert(messages.toString().replace(',',''));

3 个答案:

答案 0 :(得分:3)

这就是.replace()的工作方式,它只会取代第一场比赛。

要替换所有匹配项,只需使用正则表达式

.replace(/,/g, '') g表示全局,并告诉replace查找所有匹配项。 /是正则表达式语法。点击此处了解详情https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions

答案 1 :(得分:0)

如果要替换所有出现,则必须使用全局替换

/,/g 

所以

alert(messages.toString().replace( /,/g,''));

https://jsfiddle.net/mn93pxth/1/

答案 2 :(得分:0)

因为传递字符串要替换的是什么。使用带有全局g标志的正则表达式可以解决它。



var messages = ["a", "b", "c"];

alert(messages.toString().replace(/,+/g,''));