Подтвердить что ты не робот

Объект не поддерживает свойство или метод 'filter'

Я столкнулся с проблемой IE8, которую я изначально считал из-за отсутствия поддержки IE8 для свойства indexOf(), но это, похоже, не так. Я реализовал indexOf() через прототип, но все равно продолжаю получать сообщения об ошибках -

Объект не поддерживает свойство или метод 'filter'

Мой код есть, и он ошибочно выводит строку passArray.filter.

  function consolidatedFilters(passedArray, passedFilter, passedFilterType)
    if (passedFilterType == "specialty")
    {       
        var filteredArray = passedArray.filter(
            function(el)
            {
               for (i in passedFilter) 
               {
                    if (passedFilter[i] == el[8]) 
                    {
                        return true;
                    }
               }
               return false
             }
        );      
        return filteredArray;
    }
4b9b3361

Ответ 1

Array.filter не совместим с кросс-браузером, вам придется прототипировать его в Array. Вы также можете проверить, что массив, который вы фильтруете, никогда не является typeof 'undefined'

Обновление: MDN предоставляет ссылку на прототип фильтра на массив: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/filter