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