22 lines
		
	
	
		
			745 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			745 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten
 | 
						|
var $export = require('./_export');
 | 
						|
var flattenIntoArray = require('./_flatten-into-array');
 | 
						|
var toObject = require('./_to-object');
 | 
						|
var toLength = require('./_to-length');
 | 
						|
var toInteger = require('./_to-integer');
 | 
						|
var arraySpeciesCreate = require('./_array-species-create');
 | 
						|
 | 
						|
$export($export.P, 'Array', {
 | 
						|
  flatten: function flatten(/* depthArg = 1 */) {
 | 
						|
    var depthArg = arguments[0];
 | 
						|
    var O = toObject(this);
 | 
						|
    var sourceLen = toLength(O.length);
 | 
						|
    var A = arraySpeciesCreate(O, 0);
 | 
						|
    flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));
 | 
						|
    return A;
 | 
						|
  }
 | 
						|
});
 | 
						|
 | 
						|
require('./_add-to-unscopables')('flatten');
 |