| var baseFill = require('./_baseFill'), | |
| isIterateeCall = require('./_isIterateeCall'); | |
| /** | |
| * Fills elements of `array` with `value` from `start` up to, but not | |
| * including, `end`. | |
| * | |
| * **Note:** This method mutates `array`. | |
| * | |
| * @static | |
| * @memberOf _ | |
| * @since 3.2.0 | |
| * @category Array | |
| * @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`. | |
| * @example | |
| * | |
| * var array = [1, 2, 3]; | |
| * | |
| * _.fill(array, 'a'); | |
| * console.log(array); | |
| * // => ['a', 'a', 'a'] | |
| * | |
| * _.fill(Array(3), 2); | |
| * // => [2, 2, 2] | |
| * | |
| * _.fill([4, 6, 8, 10], '*', 1, 3); | |
| * // => [4, '*', '*', 10] | |
| */ | |
| function fill(array, value, start, end) { | |
| var length = array == null ? 0 : array.length; | |
| if (!length) { | |
| return []; | |
| } | |
| if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { | |
| start = 0; | |
| end = length; | |
| } | |
| return baseFill(array, value, start, end); | |
| } | |
| module.exports = fill; |