-1

我正在尝试通过在线翻译为孩子们制作某种密码语言。然而,我偶然发现了一个问题。我将单词的字母从 A 替换到 Z。但是如果我有一个像“hi”这样的单词,并且将字母“h”替换为“i”,则代码在到达“h”时将看到“ii” '。自然,它会将两个 i 替换为连接的字母。有没有办法阻止这种情况发生?

代码示例:

var tekst, tevertalen;

tevertalen = prompt("Geef je boodschap in: ",'Default');

...
tekst = tekst.replace("P","S");
tekst = tekst.replace("Q","T");
tekst = tekst.replace("R","A");
...

提前致谢!

4

1 回答 1

3

逐个字符地遍历字符串并使用查找表:

var mapping = {
    'P': 'S',
    'Q': 'T',
    'R': 'A',
    ...
};

var encoded = '';
var plaintext = 'HI';

for (var i = 0; i < plaintext.length; i++) {
    encoded += mapping[plaintext.charAt(i)];
}
于 2013-05-25T18:27:43.080 回答