Duplication possible:
Longueur de Javascript Associative Array
J'ai un JSON qui ressemble à ceci:
Object: www.website1.com : "dogs" www.website2.com : "cats" >__proto__ : Object
Cela s'imprime lorsque je fais ceci:
console.log(obj);
J'essaie d'obtenir le compte des éléments à l'intérieur de ce JSON, obj.length retourne "undefined" et obj [0] .length returns
Uncaught TypeError: Impossible de lire la propriété 'length' of indefined
Je m'attends à ce que la longueur retourne "2" dans ce cas. Comment puis-je trouver le compte?
Merci!
Vous devez les compter vous-même:
function count(obj) { var count=0; for(var prop in obj) { if (obj.hasOwnProperty(prop)) { ++count; } } return count; }
Bien que maintenant que j'ai vu le premier commentaire sur la question, il y a une réponse beaucoup plus agréable à cette page. One-liner, probablement aussi vite sinon plus rapide:
function count(obj) { return Object.keys(obj).length; }
Attention, le support de Object.keys()
ne semble pas encore Object.keys()
navigateur.
.length
ne fonctionne que sur des tableaux, pas des objets.
var count = 0; for(var key in json) if(json.hasOwnProperty(key)) count++;