十四、数组扁平化处理(2021/4/27)
发布日期:2021-05-07 05:41:04 浏览次数:10 分类:原创文章

本文共 826 字,大约阅读时间需要 2 分钟。

  • 数组扁平化处理是指将一个多维数组转换为一个一维数组

方法一:使用flat()

var arr = [1,2,[3,4],[5,6,7,[8,9,10]],11]var newArr = arr.flat(Infinity);console.log(newArr)

方法二:使用正则表达式

const res2 = JSON.stringify(arr).replace(/\[|\]/g,'').split(',');console.log(res2);

但是数据类型会变成字符串

方法三:改良版本的正则表达式

const res3 = JSON.parse('[' + JSON.stringify(arr).replace(/\[|\]/g,'') + ']');console.log(res3)

方法四:使用reduce()

const flatten = arr =>{           return arr.reduce(                (pre,cur) =>{                           return pre.concat(Array.isArray(cur) ? flatten(cur):cur);                },[])}const res4 = flatten(arr);console.log(res4)

方法五:递归

const 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)
上一篇:十五、BFC的理解以及作用(2021/4/27)
下一篇:十一、js事件循环机制(2021/4/26)

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月08日 01时17分00秒