$.array-fill.js 630 B

12345678910111213141516
  1. // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
  2. 'use strict';
  3. var toObject = require('./$.to-object')
  4. , toIndex = require('./$.to-index')
  5. , toLength = require('./$.to-length');
  6. module.exports = [].fill || function fill(value /*, start = 0, end = @length */){
  7. var O = toObject(this)
  8. , length = toLength(O.length)
  9. , $$ = arguments
  10. , $$len = $$.length
  11. , index = toIndex($$len > 1 ? $$[1] : undefined, length)
  12. , end = $$len > 2 ? $$[2] : undefined
  13. , endPos = end === undefined ? length : toIndex(end, length);
  14. while(endPos > index)O[index++] = value;
  15. return O;
  16. };