JSFiddle - React, Tailwind, and code Playground
by insin
JavaScript
var escapeRE = /[-[\]{}()*+?.,\\^$|#\s]/g
function replaceMultiple(s, terms, replacements) {
if (terms.length != replacements.length) {
throw new Error('Unequal number of terms and replacements')
}
var reParts = []
, lookup = {}
for (var i = 0, l = terms.length; i < l; i++) {
lookup[terms[i]] = replacements[i]
reParts.push(terms[i].replace(escapeRE, '\\$&'))
}
var re = new RegExp(reParts.join('|'), 'g')
return s.replace(re, function(m) {return lookup[m] })
}
document.body.innerHTML = replaceMultiple(['á','é','í','ó','ú'].join('wtf'), ['á','é','í','ó','ú'], ['a','e','i','o','u'])