js多维数组转化成一维数组
时间: 2025-05-06 12:07:48 浏览: 24
### JavaScript 中将多维数组转换为一维数组的方法
在 JavaScript 的 ES6 版本中,`Array.prototype.flat()` 是一种非常简洁的方式用于将多维数组展平成一维数组[^1]。此方法通过指定深度参数来控制展开的程度,默认值为 `1`。
#### 使用 `flat()` 方法
以下是基于 `flat()` 方法的一个简单示例:
```javascript
const multiDimensionalArray = [1, [2, 3], [[4, 5], [6, [7]]]];
const flattenedArray = multiDimensionalArray.flat(Infinity);
console.log(flattenedArray); // 输出: [1, 2, 3, 4, 5, 6, 7]
```
上述代码中的 `Infinity` 参数表示无论嵌套有多深,都会将其完全展平。
#### 自定义递归函数实现
对于不支持 `flat()` 或者需要兼容旧版本浏览器的情况,可以采用自定义递归函数的方式来完成相同的目标[^3]。下面是一个具体的例子:
```javascript
function flatten(array) {
const result = [];
array.forEach(item => {
if (Array.isArray(item)) {
result.push(...flatten(item));
} else {
result.push(item);
}
});
return result;
}
let data = [
[12, 21],
1,
2,
3,
[
[111, 222, 333, [4444, 5555, 2222]],
33,
44,
],
];
console.log(flatten(data));
// 输出: [12, 21, 1, 2, 3, 111, 222, 333, 4444, 5555, 2222, 33, 44]
```
这种方法利用了递归来遍历每一层的数组结构,并逐步构建最终的一维数组结果。
#### 前端场景下的应用价值
在前端开发过程中,当面对复杂的 JSON 数据或者 API 返回的数据包含多层次的数组时,这种技术显得尤为重要[^2]。它可以帮助开发者简化数据操作流程,使得后续逻辑更加清晰易懂。
---
阅读全文
相关推荐

















