把如下数组扁平化处理
1 | let arr = [1, 2, [3, 4, [5, [6]]]]; |
扁平化后
1 | [1, 2, 3, 4, 5, 6]; |
方法一、flat方法
1 | const res = arr.flat(Infinity); |
方法二、正则匹配
1 | const res2 = JSON.stringify(arr).replace(/\[|\]/g, '').split(','); |
方法三、正则改良版本
1 | const res3 = JSON.parse('[' + JSON.stringify(arr).replace(/\[|\]/, '') + ']'); |
方法四、使用递归
递归遍历,判断当前元素是否是数组,如果是数组继续处理,否则之间添加到新数组中
1 | const res4 = []; |
方法五、reduce + 递归
1 | const flatten = arr => { |