gpt4 book ai didi

javascript - 我的 rot13(凯撒密码)Javascript 算法有什么问题?

转载 作者:行者123 更新时间:2023-11-28 18:07:23 25 4
gpt4 key购买 nike

function rot13(str) { // LBH QVQ VG!




var array=str.split(" ");
for(var i=0;i<array.length;i++){

array[i]=array[i].split('');
}


for(var j=0;j<array.length;j++){
for(var k=0;k<array[j].length;k++){
var s=array[k];
if(s=="!"||s=="?"||s=="."){
s=s;
}
else if(s.charCodeAt(0)==77||s.charCodeAt(0)<77){
s=String.fromCharCode(s.charCodeAt(0)+13);
}
else if(s.charCodeAt(0)>77){
s=String.fromCharCode(s.charCodeAt(0)-13);
}
}


for(i=0;i<array.length;i++){
array[i]=array[i].join("");
}
array=array.join(" ");

return array;

}
}

// Change the inputs below to test
rot13("IM JOE!");

例如,rot13("SERR YBIR!") 应该给你“FREE LOVE!”。错误消息显示“TypeError:s.charCodeAt 不是函数”。

什么意思?我应该如何修复它?

最佳答案

var s=arr[k]; 更改为 var s=arr[j][k];

此外,在加入它们之前,您必须将结果放入数组中。

function rot13(str) { // LBH QVQ VG!
var arr=str.split(" ");
for(var i=0;i<arr.length;i++){
arr[i]=arr[i].split('');
}

for(var j=0;j<arr.length;j++){
for(var k=0;k<arr[j].length;k++){
var s=arr[j][k];
if(s=="!"||s=="?"||s=="."){
s=s;
}
else if(s.charCodeAt(0)<=77){
s=String.fromCharCode(s.charCodeAt(0)+13);
}
else if(s.charCodeAt(0)>77){
s=String.fromCharCode(s.charCodeAt(0)-13);
}
arr[j][k] = s;
}
}


for(i=0;i<arr.length;i++){
arr[i]=arr[i].join("");
}
arr=arr.join(" ");

return arr;

}

// Change the inputs below to test
alert(rot13("IM JOE!"));

关于javascript - 我的 rot13(凯撒密码)Javascript 算法有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42335153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com