Tengo un objeto Javascript que intento usar como "hashmap". Las claves siempre son cadenas, así que no creo que necesite algo tan sofisticado como el descrito en this SO question. (Tampoco espero que el número de claves supere aproximadamente 10, por lo que no me preocupan especialmente las búsquedas que son O (n) vs. O (log n) etc.)Determinar cuántos campos tiene un objeto Javascript
La única funcionalidad que quiero que los objetos Javascript incorporados no parecen tener, es una forma rápida de calcular el número de pares clave/valor en el objeto, como lo que devuelve el Map.size de Java. Por supuesto, puede hacer algo como:
function getObjectSize(myObject) {
var count=0
for (var key in myObject)
count++
return count
}
pero eso parece un poco hacky y rotunda. ¿Hay una "forma correcta" de obtener el número de campos en el objeto?
La única sugerencia a su método sería añadir un parámetro adicional para excluir/incluir propiedades heredadas, en ese caso se utilizaría hasOwnProperty en lugar de simplemente el bucle for –