| 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; |