JavaScript数组扁平化的两种实现方式

作者:函数茶馆时间:2026-10-23 11:11:11浏览:249

本文介绍JavaScript中数组扁平化的两种常见实现方式。首先解析内置Array.prototype.flat()方法的用法,特别是结合Infinity参数处理深层嵌套数组;其次展示通过递归遍历手动实现扁平化的逻辑,适用于不支持该方法的旧环境或需要自定义逻辑的场景。

引言

本文详细解析了JavaScript中将嵌套数组转换为单层数组的两种主要方法。通过具体的代码示例,展示了每种方法的实现细节与适用场景,旨在为开发者提供实用的参考,帮助提升代码编写效率与性能。

使用内置flat方法

第一种方法:利用数组内置的flat()函数


[1,2,[3,[4,5]]].flat(Infinity) //[1, 2, 3, 4, 5]

递归实现方案

第二种方法:通过递归逻辑手动实现


var arr = [[1, 2, 23], [13, 4, 5, 5], [6, 7, 9, [11, 12, [12, 13, [14]]]], 10];
 var result = [];
 function flatFn(arr,res=[]) {
   arr.forEach(item => {
    if (Array.isArray(item)) {
     flatFn(item,res);
    } else {
     res.push(item)
    }
   })
  return res;
 }
 result = flatFn(arr);
 console.log("result", result)

总结

以上内容涵盖了数组扁平化的核心知识点,希望能为读者的学习与工作提供有价值的帮助。欢迎持续关注以获取更多技术分享。

作者最新文章