1
은 다음 컴파일하지 않는 노동 조합의 형태로 하나의 가능성을 필터링 목록의 항목. 결과적으로 "Type '(number | null) []'이 'number []'유형에 할당 할 수 없습니다."는
function g(n: number[]): number[] {
return n.map(f).filter(n => n).map(n => n!);
}
하지만이 의미 루프를 통해 진행됩니다
다음은 작업을 수행합니다. 이것 역시 작동합니다
function g(a: number[]): number[] {
return a.map(f).filter(n => n) as number[];
}
그러나 많은 종류의 죄를 가릴 것 같은 캐스트입니다. 다른 제안?
'filter()'가 다른 타입의 배열을 반환하게하려면 인자로 타입 가드를 주어야합니다. https://github.com/Microsoft/TypeScript/issues/18562도 참조하십시오. – artem