1
|
'use strict';
|
2
|
// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten
|
3
|
var $export = require('./_export');
|
4
|
var flattenIntoArray = require('./_flatten-into-array');
|
5
|
var toObject = require('./_to-object');
|
6
|
var toLength = require('./_to-length');
|
7
|
var toInteger = require('./_to-integer');
|
8
|
var 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
|
|
21
|
require('./_add-to-unscopables')('flatten');
|