Skip to content

Files

Latest commit

94de462 · Mar 25, 2025

History

History
36 lines (23 loc) · 1.04 KB

deep-flatten.md

File metadata and controls

36 lines (23 loc) · 1.04 KB
标题 标签
deepFlatten(深度扁平化数组) array,recursion(数组,递归)

深度扁平化数组。

  • 使用递归。
  • Array.prototype.concat() 与空数组 ([]) 和展开运算符 (...) 一起使用以展平数组。
  • 递归地展平作为数组的每个元素。

代码如下:

const deepFlatten = arr =>
  [].concat(...arr.map(v => (Array.isArray(v) ? deepFlatten(v) : v)));

ts 代码如下:

调用方式:

deepFlatten([1, [2], [[3], 4], 5]); // [1, 2, 3, 4, 5]

应用场景

以下是一个实战示例:

结果如下:

<iframe src="codes/javascript/html/deep-flatten.html"></iframe>