筛选数组以删除不需要的类型后出现Typescript类型错误



在typescript中,我有一个类型为Array<string|undefined的数组,我希望过滤掉未定义的值,并为该数组分配一个类型Array<string>的变量,但我得到了一个类型错误。我怎样才能做到这一点?

例如

const a: Array<string|undefined> = ['a',undefined,'b'];
const b: Array<string> = a.filter(Boolean); // ERROR

错误

类型"string|undefined"不可分配给类型"string"。类型"undefined"不可分配给类型"string"。

const a: Array<string|undefined> = ['a',undefined,'b'];
const b: Array<string> = a.filter(item => item);

最新更新