JavaScriptのオブジェクト(連想配列)は、そのままでは要素数を取得する時にlengthプロパティを使うことができない。
オブジェクトの要素数を取得する際は、以下のようにする。
var person = {
"name" : "yamada",
"age": 30
};
var objLength = Object.keys(person).length;
console.log(objLength);
// 出力結果: 2
Object.keys()を使うことで、オブジェクトのキーを値として持つ配列に変換することができる。
あとは変換された配列のlengthプロパティを取得すればOK。