Проблема в том, что JSMock увеличивает объект Array.prototype
.
Инструкция for-in
предназначена для перечисления свойств объекта, для массивов и массивоподобных объектов 1 , всегда рекомендуется использовать итерацию цикл, например:
for (var i = 0; i < arr.length; i++) {
//...
}
Вы должны избегать for-in
на массивоподобных объектах, потому что:
- Порядок итерации не гарантирован, индексы могут не посещаться в числовом порядке.
- Унаследованные свойства также перечислены.
Смотри также:
[1] Под массивом Я имею в виду любой объект, который содержит свойства с последовательной нумерацией и свойство length
.