1'use strict'; 2// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap 3var $export = require('./_export'); 4var flattenIntoArray = require('./_flatten-into-array'); 5var toObject = require('./_to-object'); 6var toLength = require('./_to-length'); 7var aFunction = require('./_a-function'); 8var arraySpeciesCreate = require('./_array-species-create'); 9 10$export($export.P, 'Array', { 11 flatMap: function flatMap(callbackfn /* , thisArg */) { 12 var O = toObject(this); 13 var sourceLen, A; 14 aFunction(callbackfn); 15 sourceLen = toLength(O.length); 16 A = arraySpeciesCreate(O, 0); 17 flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]); 18 return A; 19 } 20}); 21 22require('./_add-to-unscopables')('flatMap'); 23