2017-07-21 1 views
-2

Je travaille avec FabricJS, lorsque vous ajoutez quelques petites choses à une FabricJS toile il les suit avec une toile variable interne [ « _ objets »]tableau JavaScript a plus d'éléments que la valeur de longueur

Toutefois, lorsque Je console.log() ce que je reçois ce que vous voyez dans firebug screenshot

enter image description here

en regardant ce tableau vous assumez il n'y a que 7 éléments, quand vous utilisez firebug pour le développer il y a 9, la longueur est 9. Mais quand je fais console.log (toile ["_ objects"]. Longueur) Je reçois seulement 7 retourné.

Je peux étendre les 2 derniers éléments et les voir. Mais quand j'essaie d'y accéder directement (en codant en dur la valeur 9 dans la boucle qui itère ce tableau, plutôt que de me fier à la propriété length), j'obtiens une erreur, comme si les deux derniers éléments n'existaient pas. Mais s'ils n'existent pas, comment firebug peut-il les voir? Et ils ont été ajoutés à la toile. Je ne sais même pas par où commencer, je n'ai jamais rien vu de pareil.

+0

s'il vous plaît ajouter un [mcve] –

+2

Ces éléments peut-être mais j'ai ajouté plus tard après avoir accédé à votre tableau. Dans le 'console' lui-même, vous verrez l'icône' i' qui dit _ "la valeur a été évaluée juste maintenant" _ signifiant initialement quand vous avez connecté le tableau il y avait 7 éléments, mais 2 nouveaux éléments ont été ajoutés plus tard et la console. log imprime la valeur actuelle – abhishekkannojia

+0

Merci abhishekkannojia Je vais essayer et tester cela. Sagar V Je vais voir si je peux recréer ça dans jsfiddle – Jon

Répondre

0

abhishekkannojia était correct, les éléments ont été ajoutés après coup. Soemone elses merge avait causé cela, c'est pourquoi je ne pouvais pas le voir.

Merci abhishekkannojia