Question: I'm using Chrome 70 and Chrome does add methods `.flatMap`, `.flatten`, `.flat`. So my code does run as expected. Unfortunately, TypeScript doesn't like it.

```
// data.flatMap lint error
export const transformData = (data: any[]) => data.flatMap(abc => [
   parentObj(abc),
   ...generateTasks(abc)
]);

```

The warning I got is `TS2339: Property 'flatMap' does not exist on type 'any[]'.`

I'm using Angular 6, which uses Typescript ~2.9.2, and I already include `import 'core-js/es7/array';` in `polyfills.ts`.

My guess is that there is no typing for these methods, and I did try to `npm run -dev @types/array.prototype.flatmap` but still not solve.

Answer: 
Aaron Beall's answer is excellent. It may be worth knowing that if "lib" is not specified in the tsConfig.JSON file a default list of libraries are injected. The default libraries injected are:
► For --target ES5: DOM,ES5,ScriptHost
► For --target ES6: DOM,ES6,DOM.Iterable,ScriptHost

In other words: We must specify those libs that were previously added automatically. (see: <https://www.typescriptlang.org/docs/handbook/compiler-options.html> for further info) 

```
"compilerOptions": {

   "target": "es6",

   "lib": [ "es2019", "DOM", "ES6" ,"DOM.Iterable", "ScriptHost"],}

```
I tried most answers and they didn't work for me.
IDE: VScode

but this did

```sh
npm i -D @types/node

```