17 lines
745 B
JavaScript
17 lines
745 B
JavaScript
'use strict';
|
|
var toObject = require('../internals/to-object');
|
|
var toAbsoluteIndex = require('../internals/to-absolute-index');
|
|
var toLength = require('../internals/to-length');
|
|
|
|
// `Array.prototype.fill` method implementation
|
|
// https://tc39.github.io/ecma262/#sec-array.prototype.fill
|
|
module.exports = function fill(value /* , start = 0, end = @length */) {
|
|
var O = toObject(this);
|
|
var length = toLength(O.length);
|
|
var argumentsLength = arguments.length;
|
|
var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);
|
|
var end = argumentsLength > 2 ? arguments[2] : undefined;
|
|
var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
|
|
while (endPos > index) O[index++] = value;
|
|
return O;
|
|
};
|