ごく基本的な問題ですが。。
for (var i in array)
としてはいけない。これだとiに入るのは配列のIndexを文字列にしたものになる。つまり、"0", "1"...がiに入る。
マジで。。JSのArrayはほんとどうかしてる。内部的には普通のオブジェクトと同じなんだな。
for (var i = 0; i < length; i++)のようにIndexを使うか、Underscore.jsやLodashを使っていれば_.forEachを使う。
参考:
ごく基本的な問題ですが。。
for (var i in array)
としてはいけない。これだとiに入るのは配列のIndexを文字列にしたものになる。つまり、"0", "1"...がiに入る。
マジで。。JSのArrayはほんとどうかしてる。内部的には普通のオブジェクトと同じなんだな。
for (var i = 0; i < length; i++)のようにIndexを使うか、Underscore.jsやLodashを使っていれば_.forEachを使う。
参考: