flatMap、flat、flattenはany[]型には存在しません 質問する

flatMap、flat、flattenはany[]型には存在しません 質問する

.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--libarray.flat()flatMap()

例:

{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "es2019"
    ]
  }
}

esnext以前は、またはの一部として利用可能でしたesnext.arrayが、現在は正式に ES2019 の一部となっています。

おすすめ記事