IE array length undefined

Столкнулся с занимательным багом в ИЕ.

Массив в Javascript — обычный объект. array.length — свойство. Как оказалось оно может быть undefined для обычного масссива.  Использовал аналог php функции array_unique отсюда. Функция отлично отрабатывала в 3 броузерах FF, Chrome, Opera и споткнулась на IE8. Массив обычный 4 элемента {'','app=search','cate_id=208','cate_id=208'}. После выполнения array_unique удалился 3 элемент, как положено.

Первое что меня удивило, array.join() вызвал ошибку. Я первоначально грешил на IE, потом на пустую строку в первом элементе. Потом обнаружил что не работают push и pop. Опытным путем выяснил что length стал undefined. Вот эта замечательная функция.

You may also like...