摘要:学习冴羽的博客实现数组扁平化
扁平化
数组的扁平化就是将多层嵌套的数组转化为只有一层的数组。
例如:[1,2,[3,4,[5,6]]] => [1,2,3,4,5,6]
方法
递归
1 | var array = [1, 2, [3, 4, [5, 6]]]; |
reduce
1 | function flatten(arr) { |
toString
数组的 toString 方法会返回由该数组元素和逗号组成的字符串
1 | array.toString() // "1,2,3,4,5,6" |
如果再使用 split 将字符串按照逗号分割转为数组就完成了扁平化
1 | function flatten(arr) { |
注意:toString 方法会将所有元素配合逗号拼接成字符串,也就是说将字符串分割后元素也还是字符串,因此使用时要注意元素的类型
扩展运算符…
ES6 的扩展运算符可以将一个数组转为用逗号分隔的参数序列
1 | function flatten(arr) { |
underscore
underscore 中为了方便多个 API 的调用,对扁平化进行了更多的配置
1 | /** |