数组扁平化处理 方法一:使用flat12const arr = [1,[2,[3,[4,5]]],6];const res1 = arr.flat(Infinity); 方法二:正则表达式返回的是一个字符数组 12const res2 = JSON.stringify(arr).replace(/\[|\]/g,"").split(',');console.log(res2) 方法三:正则表达式改良利用JSON.parse转化成数组 12const res3 = JSON.parse('['+JSON.stringify(arr).replace(/\[|\]/g,'')+']');console.log(res3) 方法四:reduce将数组扁平化之后拼接 12345678const flatten = arr => { return arr.reduce( (pre,cur)=>{ return pre.concat(Array.isArray(cur)?flatten(cur):cur) },[])}const res4 = flatten(arr);console.log(res4) 方法五:递归123456789101112const res5 = [];const fn = arr => { for(let i = 0;i<arr.length;i++){ if(Array.isArray(arr[i])){ fn(arr[i]); }else{ res5.push(arr[i]); } }}fn(arr);console.log(res5); JavaScript #JS基础 数组扁平化处理 https://blog-theta-ten.vercel.app/2021/08/13/数组扁平化处理/ 作者 Chen 发布于 2021年8月13日 许可协议 BFC的理解 上一篇 浅拷贝与深拷贝 下一篇 Please enable JavaScript to view the comments