我正在尝试为在线翻译的孩子制作某种密码语言。 但是,我偶然发现了一个问题。我将单词中的字母替换为A到Z.但是如果我有一个像“hi”这样的单词并且用'i'替换字母'h',代码将在到达'h'时看到“ii” ”。当然,它将用连接的字母替换我的两个。有没有办法阻止这种情况发生?
代码示例:
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");
...
提前致谢!
答案 0 :(得分: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)];
}