Es ist ein Caesar-Chiffre-Programm, ich habe diesen Code von mir selbst geschrieben und möchte diese for-Schleife in .map JavaScript integrierte Funktion konvertieren, habe ich so viele Male versucht aber kann nicht herausfinden.Caesar Cipher (Wie konvertiere ich für in .map)
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Map
Es gibt viele Fragen auf .map auf dieser Website, aber das ist für mich nicht funktioniert.
function rot13(str) {
var chArray = [];
str = str.split("");
for(var i in str){
var char = str[i].charCodeAt(0);
if(/[A-M]/g.test(str[i])){
chArray.push(char + 13);
}
else if(/[N-Z]/g.test(str[i])){
chArray.push(char - 13);
}
else chArray.push(char);
}
str = String.fromCharCode.apply(String,chArray);
return str;
}
rot13("SERR PBQR PNZC");
Dies ist etwas klug, aber ich würde behaupten, es ist weniger klar, was der Code tut (für Wartung) und noch wichtiger ist viel weniger leistungsfähig für größere Zeichenfolge s (da du zweimal über den Zeichensatz iterierst) – Paul