Ich versuche, eine einfache "Chiffre" zu bauen, um die Buchstaben in einer Zeichenfolge den Wert eines umgekehrten Alphabets (zB a = zb = y, etc ..) Ich baute ein für eine Anweisung, die bis zum letzten Aufruf zu funktionieren scheint und statt des umgekehrten Werts stattdessen den ursprünglichen Wert angibt.Für Anweisung gibt unerwarteten Wert bei der letzten Zuweisung
Ich habe jede Zeile in der for-Anweisung auskommentiert und dann einzeln durchgearbeitet, um ihre Rückgabe zu überprüfen. Die vorletzte Aussage (c = rev.indexOf (c);) gebe den Wert von 25, 24, 23 (wie erwartet), so verstehe ich nicht, warum, wenn sie in der "Buchstaben" -Matrix nachschlagen, a Rückgabe von a, b, c anstelle von z, y, x.
var letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'y', 'x', 'z'];
var rev = letters.reverse();
var stringy = function(n){
ns = n.split("");
for (i = 0; i < n.length; i++){
c = ns[i];
c = rev.indexOf(c);
c = letters[c];
console.log(c);
}
}
stringy("abc");
@chchrist angemessen gedacht Was tut Hat das mit Schließungen zu tun, oder mit Schleifen? –