JavaScriptのオブジェクト(連想配列)は、そのままでは要素数を取得する時にlengthプロパティを使うことができない。

オブジェクトの要素数を取得する際は、以下のようにする。

var person = { 
    "name" : "yamada", 
    "age": 30 
}; 

var objLength = Object.keys(person).length;

console.log(objLength);
// 出力結果: 2

Object.keys()を使うことで、オブジェクトのキーを値として持つ配列に変換することができる。

あとは変換された配列のlengthプロパティを取得すればOK。