JavaScriptのオブジェクトはlengthが使えません
何当たり前のこと云ってんだとかはなしで。毎度毎度忘れてしまうのですよ。。。
例えばPythonなら、
obj = {'mukku':'red', 'gachapin':'green', 'Pchan', 'p'} len(obj) # => 3
Rubyだと、
obj = {'mukku' => 'red', 'gachapin' => 'green', 'Pchan' => 'P'} obj.length # => 3
ところがJavaScriptだとundefinedが返ってきます。
var obj = {'mukku':'red', 'gachapin':'green', 'Pchan':'P'}; obj.length // => undefined
なのでObjectの数を取得する場合にはわざわざループループな感じで取得しないといけません。面倒ですね。
var count = function(obj) { var cnt = 0; for (var key in obj) { cnt++; } return cnt; } count({'tomato':'red', 'mikan':'orange'}); // => 2
うっかり、Object.lengthと書いてしまって、潜在的なバグを生み出す結果になるわけです。注意。