| var baseFlatten = require('./_baseFlatten'); | |
| /** Used as references for various `Number` constants. */ | |
| var INFINITY = 1 / 0; | |
| /** | |
| * Recursively flattens `array`. | |
| * | |
| * @static | |
| * @memberOf _ | |
| * @since 3.0.0 | |
| * @category Array | |
| * @param {Array} array The array to flatten. | |
| * @returns {Array} Returns the new flattened array. | |
| * @example | |
| * | |
| * _.flattenDeep([1, [2, [3, [4]], 5]]); | |
| * // => [1, 2, 3, 4, 5] | |
| */ | |
| function flattenDeep(array) { | |
| var length = array == null ? 0 : array.length; | |
| return length ? baseFlatten(array, INFINITY) : []; | |
| } | |
| module.exports = flattenDeep; |