プチはまり

javascript

var a = new Object();
a[3] = 1;

のaは配列じゃない。一見配列みたいに使えるけど、実態はハッシュだ。
逆に

var a = new Array();
a["100"] = 1;

のaは配列で、a.length が101になる。a[100] = 1と同じ。
というわけで、今まで適当に使ってたんですが、ハッシュのときはObject、配列のときはArrayを使うのが無難なようで。