Files
lodash/.internal/baseFill.js
John-David Dalton 6cb3460fce Remove semicolons.
2017-02-05 22:22:04 -08:00

33 lines
832 B
JavaScript

import toInteger from '../toInteger.js'
import toLength from '../toLength.js'
/**
* The base implementation of `fill` without an iteratee call guard.
*
* @private
* @param {Array} array The array to fill.
* @param {*} value The value to fill `array` with.
* @param {number} [start=0] The start position.
* @param {number} [end=array.length] The end position.
* @returns {Array} Returns `array`.
*/
function baseFill(array, value, start, end) {
const length = array.length
start = toInteger(start)
if (start < 0) {
start = -start > length ? 0 : (length + start)
}
end = (end === undefined || end > length) ? length : toInteger(end)
if (end < 0) {
end += length
}
end = start > end ? 0 : toLength(end)
while (start < end) {
array[start++] = value
}
return array
}
export default baseFill