Или, например, так. Но для чего все это?
function str_replace(search, replace, string)
{
// 1. все должно быть массивами
search = [].concat(search);
replace = [].concat(replace);
// 2. выровнять массивы
var len = replace.length - search.length;
var p_last = search[search.length - 1];
// 2.1. если массив строк поиска короче
for (var i = 0; i < len; i++) {
search.push(p_last);
}
// 2.2. если массив строк замены короче
for (var i = 0; i < -len; i++) {
replace.push('');
}
// 3. непосредственная замена
var result = string;
for (var i = 0; i < search.length; i++) {
result = result.split(search[i]).join(replace[i]);
}
return result;
};
var x = 'abc aaa defxyz';
var y = str_replace(
['a', 'b', 'c'],
['x', 'y', 'z'],
x);
alert([x, y]);