-1

我必须反转字符串的值,一个一个地改变。

例子:

var x = "my string";
x = someCrazyFunction(x, 'm', 'n');

那么“ m y stri n g”的 x 将变为“ n y stri m g”

如何做到这一点?

4

2 回答 2

2
function someCrazyFunction(str, ch1, ch2) {
    return str.replace(/./g, function(x) {
        return (x == ch1) ? ch2 : (x == ch2) ? ch1 : x;
    });
}

小提琴

于 2013-01-30T19:30:10.280 回答
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('')
于 2013-01-30T19:36:54.460 回答