UNPKG

760 BJavaScriptView Raw
1'use strict';
2var toObject = require('../internals/to-object');
3var toAbsoluteIndex = require('../internals/to-absolute-index');
4var lengthOfArrayLike = require('../internals/length-of-array-like');
5
6// `Array.prototype.fill` method implementation
7// https://tc39.es/ecma262/#sec-array.prototype.fill
8module.exports = function fill(value /* , start = 0, end = @length */) {
9 var O = toObject(this);
10 var length = lengthOfArrayLike(O);
11 var argumentsLength = arguments.length;
12 var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);
13 var end = argumentsLength > 2 ? arguments[2] : undefined;
14 var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
15 while (endPos > index) O[index++] = value;
16 return O;
17};