大家好,又见面了,我是你们的朋友全栈君。
前言
数组是 JS 中使用频率仅次于对象的数据结构,官方提供了众多的 API,谈谈如何扁平化(flatten)数组。...数组的扁平化,是将一个嵌套多层的数组 array (嵌套可以是任何层数)转换为只有一层的数组
flat
flat(depth) 方法会递归到指定深度将所有子数组连接,并返回一个新数组, depth指定嵌套数组中的结构深度...,默认值为1,不管多少层则可以用Infinity关键字作为参数
[1, 2, [3]].flat(1) // [1, 2, 3]
[1, 2, [3, [4]]].flat(2) // [1, 2,...flatten(b) : b), []);
flatten([1,[2,3],4,[[5,6],7]]) // [1, 2, 3, 4, 5, 6, 7]
复制代码
toString
只适于数组的元素都是数字..._.flatten函数,具体用法查阅API文档
_.flatten([1, [2], [3, [[4]]]]);
=> [1, 2, 3, 4];
复制代码
参考文献
实现扁平化(flatten)数组的方法还有很多种