| /** |
| * 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) { |
| var length = array.length; |
| |
| start = start == null ? 0 : (+start || 0); |
| if (start < 0) { |
| start = -start > length ? 0 : (length + start); |
| } |
| end = (end === undefined || end > length) ? length : (+end || 0); |
| if (end < 0) { |
| end += length; |
| } |
| length = start > end ? 0 : (end >>> 0); |
| start >>>= 0; |
| |
| while (start < length) { |
| array[start++] = value; |
| } |
| return array; |
| } |
| |
| module.exports = baseFill; |