0
votes

Pour le comportement de la boucle "TypeError: impossible de lire la propriété" longueur "de non définie"

Je ne trouve pas de réponse dans les réponses à ce type de question déjà posée. Je ne comprends pas, pourquoi la console jette cette erreur " typeError: impossible de lire la propriété" longueur "de" , lorsque mon état contient cette condition xxx

sans signe égal Ça fonctionne.

Je ne comprends pas pourquoi. Je pensais que la fixation i = 1 fonctionnerait. Mais ce n'est pas le cas. Quelqu'un pourrait-il expliquer s'il vous plaît, pourquoi je reçois l'erreur lorsque vous avez donné la condition xxx

code complet xxx

merci et heureux Nouvel An.


1 commentaires

Parce que les index Array commencent à 0 .


3 Réponses :


1
votes

Fondamentalement des indices d'un Array est à base de zéro.

Si vous bouclez jusqu'à la longueur, le dernier index est un sur. xxx

si vous bouclez jusqu'à < code> 3 , xxx

vous obtenez non défini ou si l'élément doit être un objet, vous obtenez l'erreur mentionnée ci-dessus. .


0 commentaires

0
votes

Les tableaux sont zéro basés sur JavaScript.

Par exemple: si vous avez 3 numéros dans un tableau varort = [10,20,30] , les indices de ces numéros seront 0 1, 2 c'est-à-dire que vous pouvez accéder à 10 avec arr [0] , 20 avec arr [1] et 30 avec arr [2] .

Notez que la longueur de ce tableau sera 3. Donc, lorsque vous ithétez dans votre boucle de 0 à la longueur, vous allez un index supplémentaire donc vous obtenez non défini . Soit aller de 0 à <= res.length - 1 ou 0 à dans votre boucle.


0 commentaires

2
votes

car l'index d'un tableau est toujours de longueur - 1.

vous pouvez dire. Supposons que vous ayez le tableau de la longueur 2

const ar = ["A", "B"]

Et si vous vérifiez la longueur de ce tableau, il affichera 2 mais l'index maximum de ce tableau est 1 seulement.

Alors, lorsque vous bouclez la longueur de la matrice, il monte à l'index 2 et res [2] est non défini


0 commentaires