Quelqu'un pourrait-il m'expliquer pourquoi il imprime ['01', '11', '21']. Normalement, je suis normalement un java - Python - PHP dev
3 Réponses :
Vous bouclez des touches Votre boucle sera donc comme ceci: p> code> à l'aide de
dans code> dans votre relevé pour votre relevé, pour boucler les éléments de tableau Utilisez
de code> mot-clé.
Oui, c'est une étrangeté javascript. P>
Au début, la boucle Les indices semblent également être interprétés comme des chaînes. P>
pour dans code> itération sur les indices, et non le contenu de la matrice. Ceci est
"0", "1", "2" code>. P>
"0" +1 code> =
01 code>
"1" +1 code> =
11 code>
"2" +1 code> =
21 code> p>
blockQuote>
La sortie semble que la matrice d'entrée était ["0", "1", "2"] et non [1,2,3]. P>
L'erreur ici est que la syntaxe pour..in en JavaScript est utilisée pour boucler les touches / index d'un objet / une matrice, pas de ses valeurs. P>
Quelque chose à remarquer ici (ce que je ne savais pas avant et vérifié) est que les index du tableau sont convertis en chaîne lors de l'utilisation d'un pour..in, c'est pourquoi les numéros ont été concaténés plutôt que résumés. P >
Quoi qu'il en soit, une syntaxe correcte à la boucle à travers les éléments d'un tableau est le pour..of syntaxe, qui est utilisé comme la syntaxe et se comporte comme on vous attendait. P>
N'utilisez pas pour les tableaux. Vous voyez que parce que cela traite les indices comme des chaînes.