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