# 数组扁平化工具

将多维数组转换为一维数组，支持自定义深度

> 标准页面: https://elysiatools.com/zh/tools/array-flattener

- **分类:** Data Processing

- **关键词:** array, flatten, multidimensional, nested, transform, Array Flattener

## 概述

数组扁平化工具能将嵌套的多维数组转换为一维数组。您可以自定义展开深度，并选择删除空值、去除重复项或对结果进行排序，以满足不同的数据处理需求。

## 输入项

- **数组输入** (textarea): Enter your multidimensional array...
- **输入格式** (select)
- **扁平化深度** (number): Enter depth (1 for single level, Infinity for complete)
- **输出格式** (select)
- **删除空值** (checkbox)
- **去重** (checkbox)
- **排序方式** (select)

## 适用场景

- 当您需要将从API或数据库获取的嵌套数组数据简化为一维列表时。
- 当您希望将多层数组结构展开到特定深度，而非完全展平时。
- 当您需要在扁平化数组的同时，清理空值或重复项时。

## 工作原理

- 在输入框中粘贴您的多维数组数据。
- 选择输入格式（JSON、JavaScript数组或CSV），并设置所需的扁平化深度。
- 根据需要勾选“删除空值”、“去重”以及选择排序方式。
- 点击转换按钮，工具将处理数据并以您选择的格式输出一维数组。

## 使用案例

- 数据清洗：将从不同来源收集的嵌套列表数据统一为标准的一维格式。
- API数据处理：简化从REST API返回的复杂嵌套JSON数组结构。
- 数据准备：为数据分析或机器学习任务准备扁平化的特征列表。

## 常见问题

### 支持哪些输入格式？

支持JSON数组、JavaScript数组语法和CSV格式。

### “扁平化深度”是什么意思？

深度为1表示只展开最外层的一层嵌套。设置为更高的数字可以展开更多层，设置为“Infinity”则完全展开所有嵌套。

### “删除空值”选项会移除什么？

会移除结果数组中的 `null` 和 `undefined` 值。

### “去重”功能是如何工作的？

它会移除结果数组中所有重复的值，只保留唯一项。

### 输出格式有哪些选择？

可以选择格式化的JSON、JavaScript数组、CSV或每行一个元素的纯文本。

## 相关工具

- [数组去重工具](https://elysiatools.com/zh/tools/array-deduplicator): 使用各种去重方法移除数组中的重复元素
- [数组过滤工具](https://elysiatools.com/zh/tools/array-filter): 从数组中过滤掉指定类型的元素（移除数字、字符串、布尔值、对象等）
- [Z-Score标准化工具](https://elysiatools.com/zh/tools/data-zscore-normalizer): 使用Z-Score（标准分数）标准化数值数据，使数据均值为0，标准差为1。完美用于统计分析、机器学习特征预处理、异常检测和不同尺度数据比较。 功能特点： - Z-Score标准化（均值=0，标准差=1） - 稳健Z-Score选项（使用中位数和MAD） - 自定义缩放到目标范围 - 多列选择 - 自动数据类型检测 - 智能处理缺失值 - 保留非数值列 - 综合统计摘要 - 异常值检测和报告 常见用途： - 机器学习特征准备 - 统计假设检验 - 异常值检测和移除 - 不同单位数据比较 - 主成分分析（PCA）预处理
- [数组差集](https://elysiatools.com/zh/tools/difference-arrays): 使用 lodash _.difference 从数组中删除存在于其他数组中的值
- [JSON键提取器](https://elysiatools.com/zh/tools/json-key-extractor): 从JSON对象中提取所有键，支持多种输出格式。非常适合分析JSON结构、生成文档和理解复杂的嵌套对象。
- [按字段去重](https://elysiatools.com/zh/tools/uniq-by): 使用 lodash _.uniqBy 按属性路径去重
- [数组元素删除器](https://elysiatools.com/zh/tools/array-element-deleter): 删除数组中的指定元素，支持多种删除方法
- [HTML转Markdown转换器](https://elysiatools.com/zh/tools/html-to-markdown): 将HTML内容转换为Markdown格式，支持自定义转换选项

## 示例

- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换
- [重复行示例](https://elysiatools.com/zh/samples/text-duplicate-line-samples): 用于测试重复行移除工具的各种重复行类型的示例文件
- [特殊字符示例](https://elysiatools.com/zh/samples/text-special-characters-samples): 用于测试非字母数字字符移除的各种特殊字符、标点符号和符号的示例文本文件
- [代码注释示例](https://elysiatools.com/zh/samples/code-comment-samples): 用于测试注释移除的各种注释样式代码示例文件

## 相关内容

- [数组与列表数据整理工具](https://elysiatools.com/zh/hubs/array-and-list-manipulation-tools): 分析、清理、过滤、去重、重塑、切片并排序数组或列表，方便后续使用数据。
