利用 ES9 中的数组 flatten() 处理二维数组

阅读时长 3 分钟读完

利用 ES9 中的数组 flatten() 处理二维数组

在前端开发中,我们常常会遇到需要将嵌套的二维数组转化为一维数组的情况。以前需要我们手动通过递归的方式来处理,但是在 ES9 中,新增了一个名为 flatten() 的方法,可以轻松地将嵌套的二维数组转化为一维数组。

flatten() 方法可以将多维嵌套数组展开并返回一个新的一维数组。该方法可以接受一个可选的参数,表示展开的深度。默认值为 1。

以下是 flatten() 方法的基本语法:

其中,array 表示要展开的数组,depth 表示展开的深度。如果不传入该参数,则默认为 1,即只展开数组内的直接子元素。

示例代码如下:

在上述代码中,原数组 arr 是一个嵌套了两层的数组,通过调用 flatten() 方法,可以将其展开为一维数组。当不传入 depth 参数时,只有第一层被展开,返回的结果中仍有一个嵌套的二维数组。当传入 depth 参数为 Infinity 时,则会无限制展开所有子元素。

除了数组内部嵌套的情况,我们还可以利用 flatten() 方法处理多个数组的嵌套。以下是一个示例:

在上述代码中,我们将四个数组合并为一个数组,并传入了 depth 参数为 2。由于需要展开两层,所以上述代码中的 arr2、arr3 数组都被完全展开为一维数组,并且其中的嵌套元素也被展开。

总结

利用 ES9 中的数组 flatten() 方法,可以轻松地将嵌套的二维数组转化为一维数组,无需手动递归处理。需要注意的是,该方法可以接受一个可选的参数 depth,用于指定要展开的深度。默认为 1。掌握这个数组方法可以在开发过程中提高我们的效率。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6492a68248841e9894071770

纠错
反馈