replace.js
951 Bytes
var toString = require('../lang/toString');
var toArray = require('../lang/toArray');
/**
* Replace string(s) with the replacement(s) in the source.
*/
function replace(str, search, replacements) {
str = toString(str);
search = toArray(search);
replacements = toArray(replacements);
var searchLength = search.length,
replacementsLength = replacements.length;
if (replacementsLength !== 1 && searchLength !== replacementsLength) {
throw new Error('Unequal number of searches and replacements');
}
var i = -1;
while (++i < searchLength) {
// Use the first replacement for all searches if only one
// replacement is provided
str = str.replace(
search[i],
replacements[(replacementsLength === 1) ? 0 : i]);
}
return str;
}
module.exports = replace;