2016-10-20 3 views
0

Ich versuche ein kleines Stück Code zu verstehen. Kann jemand erklären, was genau damit vor sich geht? Verschiebt es die Saite auf geraden Stücken nach rechts? Erklärung für einige einfache Code

salt = '40cf738d702c78d8939da5e8cfd324ae'; 
str_overral = salt; 
str_overral = str_overral.replace(/[^a-z0-9]/gi, '').toLowerCase(); 
str_res=''; 
for (i=0; i<str_overral.length; i++) { 
    l=str_overral.substr(i,1); 
    d=l.charCodeAt(0); 
    if (Math.floor(d/2) == d/2) { 
     str_res+=l; 
    } else { 
     str_res=l+str_res; 
    } 
} 
+1

Schlechte Qualitätscode ... sowieso. Es filtert die Zeichenfolge, um nur Kleinbuchstaben und Zahlen zu behalten, dann setzt man die Hälfte der Buchstaben (ACEGI ...) nach links und die andere Hälfte (BDFHJ ...) nach rechts ... –

Antwort

1

die neue Zeichenfolge mit noch Zeichen bis zum Ende gebaut, wenn/rechts (und ich den Charakter des Codes bedeuten), während ungerade Zeichen an den Anfang/links

salt = '40cf738d702c78d8939da5e8cfd324ae'; 
 
str_overral = salt; 
 
str_overral = str_overral.replace(/[^a-z0-9]/gi, '').toLowerCase(); 
 
str_res=''; 
 
for (i=0; i<str_overral.length; i++) { 
 
    l=str_overral.substr(i,1); 
 
    d=l.charCodeAt(0); 
 
    console.log('str['+i+']: "' + l + '" ('+d+')'); 
 
    if (Math.floor(d/2) == d/2) { 
 
     console.log('even, pushing to the end/right/back'); 
 
     str_res+=l; 
 
    } else { 
 
     console.log('odd, pushing to the beginning/left/front'); 
 
     str_res=l+str_res; 
 
    } 
 
    console.log('res: "' + str_res + '"'); 
 
}