JavaScript数组展平的实现方式

"这篇博客介绍了如何将包含嵌套数组的复杂结构转换为一维数组,包括使用toString().split(",").map(),join().split()以及数组的flat()方法,特别提到了flat(Infinity)用于无限层级的展平。这些技巧在处理复杂数据结构时非常实用。"
摘要由CSDN通过智能技术生成

 

已知数组const arr = [1, 2, 3, [4, 5, [5, 6], 7, 8], 9, [10, 11, [12]]];

将其展平为[1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10, 11, 12]

可以使用的方式:

1. const newArr = arr.toString().split(",").map(item=>Number(item));

//注意这里需要将字符串转换为数字类型的,保证不改变数据类型
const newArr = arr.toString().split(",").map(item=>Number(item));
//[1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10, 11, 12]

2. const newArr = arr.join(",").split(",");

//注意这里需要将字符串转换为数字类型的,保证不改变数据类型
const newArr = arr.join(",").split(",");
[1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10, 11, 12]

3.使用API,arr.flat(depth)的返回值;其中,depth为嵌套的数组应展平至多深的深度级别。默认为1,默认为一层,这里可以写infinity代表无限层级

const newArr = arr.flat(Infinity);//使用数组的flat方法
//[1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10, 11, 12]

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值