UNPKG

577 BJavaScriptView Raw
1var baseFlatten = require('./_baseFlatten');
2
3/** Used as references for various `Number` constants. */
4var INFINITY = 1 / 0;
5
6/**
7 * Recursively flattens `array`.
8 *
9 * @static
10 * @memberOf _
11 * @since 3.0.0
12 * @category Array
13 * @param {Array} array The array to flatten.
14 * @returns {Array} Returns the new flattened array.
15 * @example
16 *
17 * _.flattenDeep([1, [2, [3, [4]], 5]]);
18 * // => [1, 2, 3, 4, 5]
19 */
20function flattenDeep(array) {
21 var length = array == null ? 0 : array.length;
22 return length ? baseFlatten(array, INFINITY) : [];
23}
24
25module.exports = flattenDeep;