Javascript 数组和反向引用

Javascript 数组和反向引用,javascript,backreference,Javascript,Backreference,我是个新手。我有一个数组,需要在字符串中替换它 以下是我的尝试: var cc = ["book","table"]; var str = "The $1 is on the $2"; var newstr = str.replace(cc, "$2, $1"); console.log(newstr) 那是。。。嗯,我不确定我是否能理解那种混乱的想法会导致你写这样的东西 试试这个: newstr = str.replace(/\$(\d)+/g,function(_,id) {retu

我是个新手。我有一个数组,需要在字符串中替换它

以下是我的尝试:

var cc = ["book","table"];

var str = "The $1 is on the $2";

var newstr = str.replace(cc, "$2, $1");

console.log(newstr)

那是。。。嗯,我不确定我是否能理解那种混乱的想法会导致你写这样的东西

试试这个:

newstr = str.replace(/\$(\d)+/g,function(_,id) {return cc[id-1];});
var cc = ["book","table"];

var str = "The $1 is on the $2";

var newstr = str.replace('$1', cc[0]).replace('$2', cc[1]);

alert(newstr);
试试这个:

newstr = str.replace(/\$(\d)+/g,function(_,id) {return cc[id-1];});
var cc = ["book","table"];

var str = "The $1 is on the $2";

var newstr = str.replace('$1', cc[0]).replace('$2', cc[1]);

alert(newstr);

我觉得你把这里的事情搞混了<代码>替换需要一个正则表达式;替换令牌映射到不同的捕获组。将数组转换为字符串。在这里检查我的答案,这应该对你有所帮助