Объект не поддерживает свойство или метод 'filter' - PullRequest
11 голосов
/ 15 сентября 2011

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

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

Мой код содержит ошибки и он передан в PassArray.линия фильтра.

  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;
    }

1 Ответ

14 голосов
/ 15 сентября 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...