您当前的位置:首页 >  关注  > 正文
碎片时间学编程「258]:将数组展平到指定深度|焦点滚动
来源:哔哩哔哩     时间:2023-01-17 12:17:06

将数组展平到指定深度

使用递归,对每个深度级别将深度递减 1。


(相关资料图)

使用 Array.prototype.reduce() 和 Array.prototype.concat() 方法合并元素或数组。

直到深度等于 1 停止递归。

省略第二个参数 depth,仅展平到 depth 值为 1 。

JavaScript

const flatten = (arr, depth = 1) =>

arr.reduce(

(a, v) =>

a.concat(depth > 1 && Array.isArray(v) ? flatten(v, depth - 1) : v),

[]

);

示例:

flatten([1, [2], 3, 4]); // [1, 2, 3, 4]

flatten([1, [2, [3, [4, 5], 6], 7], 8], 2); // [1, 2, 3, [4, 5], 6, 7, 8]

想自学前端开发,就上路条编程

更多内容请访问我的网站:https://www.icoderoad.com

标签: DEPTH FLATTEN 前端开发 HTTPS

相关新闻

X 关闭

X 关闭

精彩推荐