为什么我的javascript正则表达式不能处理数组项?

为什么我的javascript正则表达式不能处理数组项?,javascript,arrays,regex,variables,Javascript,Arrays,Regex,Variables,我希望结果是123defg123defg。 相反,我得到了/1/g/2/g/3/gdefgabcdefg。你做错了,因为你想将数组y的出现替换为全局x的出现,你应该说like var x = new Array('1','2','3'); var y = new Array('a','b','c'); var iLen = x.length; var s = 'abcdefgabcdefg'; for (var i=0;i<iLen;i++) { var re = new RegE

我希望结果是123defg123defg。
相反,我得到了/1/g/2/g/3/gdefgabcdefg。

你做错了,因为你想将数组y的出现替换为全局x的出现,你应该说like

var x = new Array('1','2','3');
var y = new Array('a','b','c');
var iLen = x.length;
var s = 'abcdefgabcdefg';

for (var i=0;i<iLen;i++) {
   var re = new RegExp(x[i],'g');
   s = s.replace(y[i], re);
}

alert(s);

美丽的你相信吗,尽管我在网上搜索了关于RegExp的文档,但我还是没有找到任何东西来说明哪个元素去了哪里?然而,现在我看到了你的答案,我确实理解它与其他地方的文档是一致的。非常感谢。
for (var i=0;i<iLen;i++) {
   var re = new RegExp(y[i],'g'); //this is regexp for global y[i]
   s = s.replace(re, x[i]); //replace all occurrences of y[i] with x[i]
}