Короткий ответ на вопрос темы: потому что массивы в js - угребище. Это называется ни вашим, ни нашим. Массивы не нормальные, то есть не массивы вовсе, но и не map (и значит не balanced tree). Вследствие чего народ юзает "объекты" в качестве map (dictionary канонично), а там без всяких форичей for in предусмотрен.
|