Show More
Commit Description:
merge
Commit Description:
merge
References:
File last commit:
Show/Diff file:
Action:
node_modules/core-js/modules/es6.array.slice.js
| 28 lines
| 933 B
| application/javascript
| JavascriptLexer
|
r789 | 'use strict'; | |||
var $export = require('./_export'); | ||||
var html = require('./_html'); | ||||
var cof = require('./_cof'); | ||||
var toAbsoluteIndex = require('./_to-absolute-index'); | ||||
var toLength = require('./_to-length'); | ||||
var arraySlice = [].slice; | ||||
// fallback for not array-like ES3 strings and DOM objects | ||||
$export($export.P + $export.F * require('./_fails')(function () { | ||||
if (html) arraySlice.call(html); | ||||
}), 'Array', { | ||||
slice: function slice(begin, end) { | ||||
var len = toLength(this.length); | ||||
var klass = cof(this); | ||||
end = end === undefined ? len : end; | ||||
if (klass == 'Array') return arraySlice.call(this, begin, end); | ||||
var start = toAbsoluteIndex(begin, len); | ||||
var upTo = toAbsoluteIndex(end, len); | ||||
var size = toLength(upTo - start); | ||||
var cloned = new Array(size); | ||||
var i = 0; | ||||
for (; i < size; i++) cloned[i] = klass == 'String' | ||||
? this.charAt(start + i) | ||||
: this[start + i]; | ||||
return cloned; | ||||
} | ||||
}); | ||||