Skip to content
Advertisement

How to use filter in TypeScript on different array types

Given is the function signature below:

JavaScript

Why does TS complain about the follow function call of filter?

JavaScript

This expression is not callable. Each member of the union type ‘{ (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; } | { …; }’ has signatures, but none of those signatures are compatible with each other.

Of course I can cast it to [], but what is the proper way here? The error message is very difficult to understand? How would one decipher this?

Example: Playground

Advertisement

Answer

JavaScript

For same reason as here: Typescript: How to map over union array type?

User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement