博客
关于我
十四、数组扁平化处理(2021/4/27)
阅读量:322 次
发布时间: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/

你可能感兴趣的文章
快速排序
查看>>
Pyinstaller打包的exe文件过大的解决方法
查看>>
Linux的软链接跟Windows快捷方式一样?
查看>>
更改github的默认语言类型
查看>>
使用bigdecima实例化时传int和string时的精度丢失
查看>>
使用第三方sdk,微信wechat扫码登录
查看>>
windows下的netstat命令略解和linux下的netstat命令/awk打印或分割字符串
查看>>
mysql中的行转列
查看>>
shell脚本中冒泡排序、直接排序、反转排序
查看>>
WPS及Excel中Alt键的妙用 快捷键
查看>>
C - 食物链 并查集
查看>>
Pycharm 常用快捷键
查看>>
ValueError: check_hostname requires server_hostname
查看>>
基于LabVIEW的入门指南
查看>>
PCB布局系列汇总
查看>>
电阻入门知识
查看>>
电容入门知识
查看>>
C++面向对象
查看>>
专题(七)贪心——AcWing 112. 雷达设备
查看>>
深入理解JVM(一)JVM概述、类的声明周期、JVM整体架构、JMM、volatile
查看>>