我知道我可以使用apply方法,但我无法理解如何使用它,即括号内的内容。我已经尝试过阅读文章甚至观看一些YT视频,但最终还是感到困惑。
我在这里尝试做的是使用charCodeAt将以下字符串转换为unicode,然后我必须为每个值添加13,因为我使用的是ROT13密码。之后,我计划使用fromCharCode将数值返回到字母中以获取消息,然后使用.join来获取完整的消息。
function rot13(str) {
var strSplit = str.split('');
strSplit.charCodeAt.apply();
}
rot13("SERR PBQR PNZC");
答案 0 :(得分:1)
使用数组函数:
function rot13(str) {
var strSplit = str.split('');
var res = strSplit.map(l => l.charCodeAt())
return res;
}
console.log(rot13("SERR PBQR PNZC"));
您可能希望将这些数字连接在一起作为字符串:
console.log(rot13("SERR PBQR PNZC").map(l => JSON.stringify(l)).join(""))
然而,这可能有一些警告......
答案 1 :(得分:0)
数组没有charCodeAt
方法。
您可以在执行拆分后遍历所有字符
试试这个
function rot13(str)
{
return str.split('').map(function(item) {
return String.fromCharCode(item.charCodeAt(0) + 13)
}).join("")
}
console.log( rot13("SERR PBQR PNZC") );

更通用
function rot(str, num)
{
return str.split('').map(function(item) {
return String.fromCharCode(item.charCodeAt(0) + num)
}).join("")
}
console.log( rot("SERR PBQR PNZC", 13) );