
十四、数组扁平化处理(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)
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月08日 01时17分00秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Android SDK 与API版本对应关系
2019-03-04
实现谣传QQ中的手段——“1像素页面保活”
2019-03-04
Android UI效果篇-(3)用属性动画实现收缩菜单
2019-03-04
Android反编译-揭秘猎豹设置默认浏览器逻辑
2019-03-04