为什么我打印一个数组(转换为字符串).replace函数只适用于第一个,
?
var messages = ["a", "b", "c"];
alert(messages.toString().replace(',',''));
答案 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,''));
答案 2 :(得分:0)
因为传递字符串要替换的是什么。使用带有全局g
标志的正则表达式可以解决它。
var messages = ["a", "b", "c"];
alert(messages.toString().replace(/,+/g,''));