mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-29 14:37:49 +00:00
25 lines
620 B
JavaScript
25 lines
620 B
JavaScript
import baseFlatten from './.internal/baseFlatten.js'
|
|
|
|
/** Used as references for various `Number` constants. */
|
|
const INFINITY = 1 / 0
|
|
|
|
/**
|
|
* Recursively flattens `array`.
|
|
*
|
|
* @since 3.0.0
|
|
* @category Array
|
|
* @param {Array} array The array to flatten.
|
|
* @returns {Array} Returns the new flattened array.
|
|
* @see flatMap, flatMapDeep, flatMapDepth, flatten, flattenDepth
|
|
* @example
|
|
*
|
|
* flattenDeep([1, [2, [3, [4]], 5]])
|
|
* // => [1, 2, 3, 4, 5]
|
|
*/
|
|
function flattenDeep(array) {
|
|
const length = array == null ? 0 : array.length
|
|
return length ? baseFlatten(array, INFINITY) : []
|
|
}
|
|
|
|
export default flattenDeep
|