J'ai un objet Javascript que j'essaie d'utiliser comme un "hashmap". Les clés sont toujours des chaînes, donc je ne pense pas avoir besoin de quelque chose d'aussi sophistiqué que ce qui est décrit dans this SO question. (Je ne m'attends pas non plus à ce que le nombre de clés dépasse 10, donc je ne suis pas particulièrement concerné par les recherches O (n) vs. O (log n) etc.)Déterminer combien de champs un objet Javascript a
La seule fonctionnalité que je veux les objets Javascript intégrés ne semblent pas avoir, est un moyen rapide de comprendre le nombre de paires clé/valeur dans l'objet, comme ce que Map.size de Java renvoie. Bien sûr, vous pouvez simplement faire quelque chose comme:
function getObjectSize(myObject) {
var count=0
for (var key in myObject)
count++
return count
}
mais qui semble un peu hacky et rond-point. Y a-t-il une "bonne façon" d'obtenir le nombre de champs dans l'objet?
La seule suggestion à votre méthode serait d'ajouter un paramètre supplémentaire à exclure/inclure les propriétés héritées, dans ce cas, vous utilisez hasOwnProperty au lieu de simplement la boucle simple –