博客
关于我
十四、数组扁平化处理(2021/4/27)
阅读量:315 次
发布时间:2019-03-04

本文共 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)

转载地址:http://zych.baihongyu.com/

你可能感兴趣的文章
如何在bilibili上下载学习视频?
查看>>
Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!
查看>>
09-Vue之本地应用v-for指令
查看>>
03-selenium元素定位
查看>>
19-selenium操作已启动的浏览器
查看>>
2020.2.13普及C组 罗密欧与朱丽叶的约会【纪中】【前缀和】
查看>>
纪中2020.3.18普及C组模拟赛总结
查看>>
YbtOJ 递推算法课堂过关 例5 平铺方案【递推(简单DP)】
查看>>
YbtOJ hash和hash表课堂过关 例1 字符串哈希【hash】
查看>>
CSUST 2021 周赛 2 题解
查看>>
前后端数据交互之表单
查看>>
剑指offer JZ15 反转链表
查看>>
剑指offer JZ21 栈的压入弹出序列
查看>>
剑指offer JZ31 整数中1出现的次数
查看>>
实现基于scrapy框架的天气预报爬虫hengYangSpaider @572311文
查看>>
maven打包指定名称并去除jar-with-dependencies后缀
查看>>
Netty4服务端入门代码示例
查看>>
java连接mysql,jdbc驱动
查看>>
C++中的static成员函数以及static成员变量详解
查看>>
操作系统前传第六课--开发中的辅助工具
查看>>