Pergunta

I'm new to backreference. I have an array and need to replace it in string.

Here's my try:

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

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

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

console.log(newstr)
Foi útil?

Solução

That's... hmm, I'm not sure I can understand the kind of confusion of ideas that would lead you to write such a thing...

Try this:

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

Outras dicas

Try this:

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);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top