Skip to content

Instantly share code, notes, and snippets.

@geekdenz
Created February 26, 2018 20:30
Show Gist options
  • Save geekdenz/4579af3dc399892680a0e53cdf87c71a to your computer and use it in GitHub Desktop.
Save geekdenz/4579af3dc399892680a0e53cdf87c71a to your computer and use it in GitHub Desktop.
interface Array<T> {
flatMap: () => T[]
}
Array.prototype.flatMap = function() {
function innerFlatMap(arr) {
if (arr instanceof Array) {
return arr.reduce((r, e) => r.concat(innerFlatMap(e)), []);
}
return arr;
}
return innerFlatMap(this);
};
// console.log([1,2,4,[5,7,[[1,2],3]]].flatMap());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment