javascript replace globally with array

javascript, replace

Solution

var array = {"from1":"to1", "from2":"to2"}

for (var val in array)
    text = text.replace(new RegExp(val, "g"), array[val]);

Edit: As Andy said, you may have to escape the special characters using a script like this one.

Problem

You can use array for replacement: ``` var array = {"from1":"to1", "from2":"to2"} for (var val in array) text = text.replace(array, array[val]); ``` But what if you need to replace globally, ie text = text.replace(/from/g, "to"); Array is pretty big, so script will take a lot of space if I write "text = text.replace(...)" for every variable. How can you use array in that case? "/from1/g":"to1" does not working.

Original source

Related problems