我必须反转字符串的值,逐个改变。
示例:
var x = "my string";
x = someCrazyFunction(x, 'm', 'n');
那么“ m y stri n g”的x将变为“ n y stri m g “
如何实现这一目标?
答案 0 :(得分:2)
function someCrazyFunction(str, ch1, ch2) {
return str.replace(/./g, function(x) {
return (x == ch1) ? ch2 : (x == ch2) ? ch1 : x;
});
}
答案 1 :(得分:0)
x.split('').map(function(c) {return c=='n'?'m':c=='m'?'n':c; }).join('');
或者,如果您想使用对象进行重新映射(对于任何数量的疯狂):
x.split('').map(function(c) {var _={n:'m',m:'n'}; return c in _?_[c] : c;}).join('')