typescript - Angular 4 - .filter er ikke en funksjon


Jeg har denne koden:

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

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

Min konsoll skriver ut:

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

Jeg prøvde å legge til import fra rxjs/add/operator/filter, men det løste det ikke. Noen ideer om hvordan man kan fikse det?

Takk

Svar #1

Hvis searchData er null (eller undefined), bør du få en feil som

TypeError: cannot read property filter of null  // or undefined

Som @OscarPaz tenkte, filter is not a function kastes fordi den mottatte searchData ikke er et array (men fortsatt definert og ikke null).

Svar #2

Bare endre Array til array. Den første er et objekt og den andre er en array. Du kan få mer informasjon om ``filter` her [1].

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

Relaterte artikler