Angular 4 - .filter不是一个函数

时间:2018-03-21 16:32:56

标签: angular typescript

我有这段代码:

 transform(searchData: Array<vw_WebSiteCourseSearch>, searchResultContentType: string) {
        if (searchData == undefined) {
            return;
        }

        return searchData.filter((item) => item.ContentType == searchResultContentType);
    }

我的控制台打印:

ERROR TypeError: searchData.filter is not a function
at FilterCountPipe.webpackJsonp.../../../../../src/app/Common/pipes/filterCount.pipe.ts.FilterCountPipe.transform (filterCount.pipe.ts:19)

我尝试从rxjs / add / operator / filter添加导入,但它没有解决它。 关于如何解决它的任何想法?

由于

2 个答案:

答案 0 :(得分:1)

如果searchData为空(或未定义),则应该出现类似

的错误
TypeError: cannot read property filter of null  // or undefined

就像@OscarPaz所想的那样,filter is not a function被抛出,因为收到的searchData不是一个数组(但仍然是定义的而不是null)。

答案 1 :(得分:-1)

只需将Array更改为array即可。第一个是对象,第二个是数组。你可以在这里找到关于``filter`的更多信息。

[1]:https://alligator.io/js/filter-array-method/