flattenDeep()
function flattenDeep(array): any[];
Defined in: array/flattenDeep.ts:25
将任意深度的嵌套数组完全扁平化为一维数组 递归处理所有层级的嵌套数组,直至所有元素都为非数组类型
Parameters
| Parameter | Type | Description |
|---|---|---|
array | any[] | 任意深度的嵌套数组,可包含基础类型元素和/或嵌套数组 |
Returns
any[]
完全扁平化后的一维数组,所有元素均为基础类型T
Examples
flattenDeep([1, [2, [3, [4]], 5]]);
// 返回 [1, 2, 3, 4, 5] (多层嵌套数组)
flattenDeep(['a', [['b']], [[[['c']]]]]);
// 返回 ['a', 'b', 'c'] (极深嵌套数组)
flattenDeep([]); // 返回 [] (空数组)
flattenDeep([1, [2, [3]], null, undefined, [true]]);
// 返回 [1, 2, 3, null, undefined, true] (包含多种类型元素)
flattenDeep([[[[[1]]]]]); // 返回 [1] (单一元素的深层嵌套)
**Note:** 使用递归实现,对于层级极深的数组可能导致栈溢出
**Note:** 非数组元素(包括null和undefined)会被直接包含在结果中
**Note:** 仅处理Array类型的嵌套结构,不处理类数组对象(如arguments、NodeList等)