16 lines
630 B
JavaScript
16 lines
630 B
JavaScript
// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
|
|
'use strict';
|
|
var toObject = require('./$.to-object')
|
|
, toIndex = require('./$.to-index')
|
|
, toLength = require('./$.to-length');
|
|
module.exports = [].fill || function fill(value /*, start = 0, end = @length */){
|
|
var O = toObject(this)
|
|
, length = toLength(O.length)
|
|
, $$ = arguments
|
|
, $$len = $$.length
|
|
, index = toIndex($$len > 1 ? $$[1] : undefined, length)
|
|
, end = $$len > 2 ? $$[2] : undefined
|
|
, endPos = end === undefined ? length : toIndex(end, length);
|
|
while(endPos > index)O[index++] = value;
|
|
return O;
|
|
}; |