Pendant tout temps maintenant, j'ai étudié l'algorithme suivant comme moyen de résoudre la chaîne inverse: mais je viens de réaliser, je ne suis pas sûr exactement comment, ce qui signifie que la mécanique , si vous voulez, de savoir comment la chaîne est inverse juste par Je sais que je crée cette variable temporaire qui est redéclamé chaque fois que cette boucle à travers cette boucle de Comment est-ce que ce qui l'inversait chaîne? Je sais si je fais caractère + inversé; code>. p>
caractère code>, alors je dis
de code> et de l'objet ibler, qui étant code> STR code>, un par un et définissez-le égal à la variable temporaire de < Code> caractère code>, alors je prends ce caractère
et l'ajoutez-le sur la chaîne de
inversé code>. p>
inversé = inversé + caractère; code> Cela me donnera simplement la chaîne non-inverse, mais quoi de l'inverser exactement? Un diagramme serait probablement utile. P> p>
4 Réponses :
str = 'abc'; reverse = ''; // iteration reverse = 'a' + ''; // a reverse = 'b' + 'a'; // ba reverse = 'c' + 'ba'; // cba
Que se passe-t-il est la boucle pour la boucle est itérante sur chaque caractère de la chaîne. Chaque fois qu'il passe par la boucle, il régit le caractère actuel égal à «caractère», qu'il a ensuite collé devant tous les caractères traités précédemment.
Si vous voulez vraiment comprendre ce qu'il fait, essayez d'exécuter ceci: p>
p>
function reverse(str) { let reversed = ''; for (let character of str) { console.info("current character being processed: " + character); console.info("reversed string before paste: " + reversed); reversed = character + reversed; console.info("reversed string after paste: " + reversed); } return reversed; } console.log('reverse("abcd") = ' + reverse("abcd"));
Essayons un test de test avec un simple console.log () code>
. Finalement, vous devez vous apprendre à utiliser le débogueur qui a beaucoup plus de capacités que de simplement imprimer des valeurs à l'écran.
p>
function reverse(str) { let reversed = ''; for (let character of str) { console.log(`'${character + reversed}' = '${character}' + '${reversed}'`); reversed = character + reversed; } return reversed; } reverse('world');
Donc, console.log () code> peut être utilisé plus que d'accéder à des propriétés sur certains objets ou à la visualisation quelles données seront renvoyées à moi, merci.
var str = "ABC,DEFG,H"; console.log(str); var reversestr = ""; for(x in str){ console.log('reversestr = '+ str[x] + "+" + reversestr); reversestr = str[x] + reversestr; } console.log(reversestr);
"Alors je prends ce caractère
code> et l'ajoutez sur la chaîne de
inversé code>" i> Votre confusion commence ici. Vous prenez ce caractère
code> et ajout de la chaîne de
inversé code> dessus
" Je sais que je crée cette variable temporaire redéclaré à chaque fois que cette boucle i>" - non, ce n'est pas le cas. L'attribution à une variable ne le redéclaira pas.
Ajoutez un peu de débogage et voyez ce qui se passe pendant l'exécution de la boucle. Cela devrait préciser comment cela fonctionne. Le débogage est votre frind ;-)