1var baseFlatten = require('./_baseFlatten'), 2 toInteger = require('./toInteger'); 3 4/** 5 * Recursively flatten `array` up to `depth` times. 6 * 7 * @static 8 * @memberOf _ 9 * @since 4.4.0 10 * @category Array 11 * @param {Array} array The array to flatten. 12 * @param {number} [depth=1] The maximum recursion depth. 13 * @returns {Array} Returns the new flattened array. 14 * @example 15 * 16 * var array = [1, [2, [3, [4]], 5]]; 17 * 18 * _.flattenDepth(array, 1); 19 * // => [1, 2, [3, [4]], 5] 20 * 21 * _.flattenDepth(array, 2); 22 * // => [1, 2, 3, [4], 5] 23 */ 24function flattenDepth(array, depth) { 25 var length = array == null ? 0 : array.length; 26 if (!length) { 27 return []; 28 } 29 depth = depth === undefined ? 1 : toInteger(depth); 30 return baseFlatten(array, depth); 31} 32 33module.exports = flattenDepth; 34