-1
votes

Étrangeté javascript

Quelqu'un pourrait-il m'expliquer pourquoi il imprime ['01', '11', '21']. Normalement, je suis normalement un java - Python - PHP dev xxx


1 commentaires

N'utilisez pas pour les tableaux. Vous voyez que parce que cela traite les indices comme des chaînes.


3 Réponses :


0
votes

Vous bouclez des touches à l'aide de dans dans votre relevé pour votre relevé, pour boucler les éléments de tableau Utilisez de mot-clé.

Votre boucle sera donc comme ceci: xxx


0 commentaires

1
votes

Oui, c'est une étrangeté javascript.

Au début, la boucle pour dans itération sur les indices, et non le contenu de la matrice. Ceci est "0", "1", "2" .

Les indices semblent également être interprétés comme des chaînes.

"0" +1 = 01
"1" +1 = 11
"2" +1 = 21


0 commentaires

0
votes

La sortie semble que la matrice d'entrée était ["0", "1", "2"] et non [1,2,3].

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.

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.

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.


0 commentaires