私はこれを理解することに近いと思う。Caeser Cipher JavaScript
オブジェクトは "暗号化された"文字列を実際の単語に解読することです。おそらく私のコードはあまりエレガントではありませんが、私はそこに行きますが、charCodeAt()を使って正しいASCIIコードを返すためには、最初に 'str = "SERR PBQR PNZC"'を取得し、必要に応じて13を加えたり、それをstrArrayに連結します - 私はそれが配列ではないことを知っています。しかし、strArrayを配列にすることはできないので、String.fromCharCode(null、strArray);に渡すことができます。正しい解読されたテキストを返すようにします。
私のコードは以下の通りです:
function rot13(str) { // LBH QVQ VG!
var strArray = '';
//var right = [70, 82, 69, 69, 32, 67, 79, 68, 69, 32, 67, 65, 77, 80];
//used above variable with String.fromCharCode.apply(null, right); and it worked.
for(var i = 0; i < str.length; i++){
//console.log(str.charCodeAt(i));
if(str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 77) {
strArray = strArray.concat(str.charCodeAt(i) + 13, ' ');
} else if(str.charCodeAt(i) >= 78) {
strArray = strArray.concat(str.charCodeAt(i) - 13, ' ');
} else {
strArray = strArray.concat(str.charCodeAt(i), ' ');
}
}
return strArray;
}
// Change the inputs below to test
rot13("SERR PBQR PNZC");
すべてのヘルプは大歓迎されます。
私はstryArray.split( '');を使用しようとしました。しかしそれはうまくいかなかった。 –
あなたの現在の問題は何ですか? – zerkms
配列内のすべての数字を押してから、その配列を別のループを使って文字列に変換します。 – zerkms