TypeScriptで`xs: (string | null)[]`のとき、`xs.filter(x => x)`が`string[]`になって欲しい。

`function isNotNull(x: T | null): x is T`を定義して`xs.filter(isNotNull)`とすればいけるけど。

Reply to this note

Please Login to reply.

Discussion

xs.flatMap((x) => x == null ? [] : [x])

ではダメですか?

ダメではないですが、それだったら`.filter(isNotNull)`の方が素直なのでそちらを選びます。