.flatMap
私は Chrome 70 を使用していますが、Chrome は、、、メソッドを追加します.flatten
。.flat
そのため、私のコードは期待どおりに実行されます。残念ながら、TypeScript はそれを好みません。
// data.flatMap lint error
export const transformData = (data: any[]) => data.flatMap(abc => [
parentObj(abc),
...generateTasks(abc)
]);
私が受けた警告はTS2339: Property 'flatMap' does not exist on type 'any[]'.
私は Typescript ~2.9.2 を使用する Angular 6 を使用しており、すでに を含めていimport 'core-js/es7/array';
ますpolyfills.ts
。
私の推測では、これらのメソッドには型付けがなく、試してみましたnpm run -dev @types/array.prototype.flatmap
が、まだ解決していません。
ベストアンサー1
TypeScript がと を認識するようにするには、設定にes2019
または を追加する必要があります。es2019.array
--lib
array.flat()
flatMap()
例:
{
"compilerOptions": {
"target": "es5",
"lib": [
"es2019"
]
}
}
esnext
以前は、またはの一部として利用可能でしたesnext.array
が、現在は正式に ES2019 の一部となっています。