2009-05-26 6 views
0

Je suis venu dans la pièce suivante de JavaScript et voudrais savoir ce qu'il fait:Expliquer une ligne de fonction JavaScript en ligne

function flipString(aString) { 
var last = aString.length - 1; 
var result = new Array(aString.length) 
for (var i = last; i >= 0; --i) { 
    var c = aString.charAt(i) 
    var r = flipTable[c] 
    result[last - i] = r != undefined ? r : c 
} 
return result.join('') 
} 
+3

devrait être assez évident du nom de la fonction ... –

+1

Je suis sûr qu'il/elle veut savoir comment cela fonctionne ... Pas besoin de se fâcher. – peirix

+0

s'il voulait savoir comment cela fonctionnait, "je voudrais simplement savoir ce que cela signifie:" est la mauvaise façon de demander. –

Répondre

3

Il ressemble à une sorte de cryptage/faux-fuyants. Sans savoir à quoi ressemble filpTable c'est difficile à dire.

function flipString(aString) { 
var last = aString.length - 1; 

// Create a new array with the length of the string 
var result = new Array(aString.length) 

// Walk through the string backwards 
for (var i = last; i >= 0; --i) { 
    // Get the current character 
    var c = aString.charAt(i) 

    // Find the associated character in the flipTable 
    var r = flipTable[c] 

    // If the character wasn't in the flip table, use it as-is, else use the one we found 
    // Store as (last-i) instead of (i) so it comes out backwards 
    result[last - i] = r != undefined ? r : c 
} 

// Return the result as a string instead of an array 
return result.join('') 
} 
+1

Je ne sais pas pourquoi cela a été downvoted. Sauvegardez vous allez ... – ceejayoz

+0

merci .. donc: var r = flipTable [c] met l'objet associé à une clé ((qui est dans un tableau) qui est le même que le caractère) dans une variable? – DotSlashSlash

3

Ce guide à travers une chaîne à partir du premier caractère à la dernière, tout en stockant le caractère trouvé à chaque index dans un tableau. Pour chaque caractère, si le tableau "flipTable" a une entrée associée, il utilise l'entrée flipTable plutôt que le caractère. Le tableau résultant est ensuite joint à '' pour créer une chaîne.

En termes plus simples, il inverse une chaîne tout en changeant simultanément chaque caractère qui est une clé pour flipTable à l'entrée qui lui est associée. Pourquoi tu ferais ça, je n'ai aucune idée sans contexte.

1

Cela ressemble à une implémentation substitution cipher simple. flipTable contient l'alphabet de substitution, et la fonction passe par chaque caractère de la chaîne et la remplace par sa contrepartie de cet alphabet.

Questions connexes