我正在尝试完成 codewars 挑战作为我的练习编码,因为我将进行初学者技术测试以进入编码培训计划。如果您想知道挑战是什么:https://www.codewars.com/kata/530e15517bc88ac656000716/train/javascript
我已经编写了符合预期的代码。我将在下面引用 Codewars.com:
<块引用>ROT13 是一个简单的字母替换密码,用于替换一个字母 与字母 13 个字母后面的字母。 ROT13 是一个 凯撒密码的例子。
创建一个函数,它接受一个字符串并返回加密后的字符串 与 Rot13。如果包含数字或特殊字符 字符串,它们应该原样返回。只有来自的信件 拉丁文/英文字母应该改变,就像在原来的 Rot13 中一样 “实施”。
我的代码获取测试字符串 "grfg"
并将其转换为单词 "test"
,这相当于字母表中前面的 13 个字母,但是,如果我将字符串作为 {{1} } 用大写 "Grfg"
返回 "G"
意味着它不会替换大写字母。
如果我以小写形式传递 "gest"
,它将返回 "test"
,因此它也可以反向工作,但是,如果我传递 "grfg"
,它将返回 "Test"
而不替换再次大写,但返回相同的字母。
请找到我在下面写的代码: (请记住,我正在开始编写代码,因此可能有不止几种更有效的代码可以做到这一点。)
"trfg"
请您帮我弄清楚我的错误是什么或者我应该知道什么以确保我的代码将转换字符串而不管大写或小写?
非常感谢:D
答案 0 :(得分:0)
在拆分之前,您是否尝试将 message
全部设为小写?
let msg = message.toLowerCase().split("");