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)
总结
以上内容涵盖了数组扁平化的核心知识点,希望能为读者的学习与工作提供有价值的帮助。欢迎持续关注以获取更多技术分享。
作者最新文章
JS split切割后出现空字符串怎么过滤
2026-11-05 16:00:30
在 React 或 Vue 项目中封装使用 JS 节流防抖
2026-11-05 15:27:29
JavaScript中怎么将带小数的字符串转为整数?
2026-11-05 14:32:38
怎么用JavaScript策略模式重构电商促销计算逻辑?
2026-11-05 14:01:09
JS使用constructor判断数据类型可靠吗
2026-11-05 13:49:41
