diff options
Diffstat (limited to 'node_modules/core-js/modules/es6.array.slice.js')
-rw-r--r-- | node_modules/core-js/modules/es6.array.slice.js | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/node_modules/core-js/modules/es6.array.slice.js b/node_modules/core-js/modules/es6.array.slice.js index 610bd3990..988b75524 100644 --- a/node_modules/core-js/modules/es6.array.slice.js +++ b/node_modules/core-js/modules/es6.array.slice.js @@ -1,28 +1,28 @@ 'use strict'; -var $export = require('./_export') - , html = require('./_html') - , cof = require('./_cof') - , toIndex = require('./_to-index') - , toLength = require('./_to-length') - , arraySlice = [].slice; +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); +$export($export.P + $export.F * require('./_fails')(function () { + if (html) arraySlice.call(html); }), 'Array', { - slice: function slice(begin, end){ - var len = toLength(this.length) - , klass = cof(this); + 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 = toIndex(begin, len) - , upTo = toIndex(end, len) - , size = toLength(upTo - start) - , cloned = Array(size) - , i = 0; - for(; i < size; i++)cloned[i] = klass == 'String' + 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 = Array(size); + var i = 0; + for (; i < size; i++) cloned[i] = klass == 'String' ? this.charAt(start + i) : this[start + i]; return cloned; } -});
\ No newline at end of file +}); |