已知数组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]

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

被折叠的 条评论
为什么被折叠?



