关键信息
- 分类
- Data Processing
- 输入类型
- textarea
- 输出类型
- text
- 样本覆盖
- 4
- 支持 API
- Yes
概览
数组解压工具是一个基于 lodash `_.unzip` 函数的在线实用程序,用于将分组数组拆分为多个独立的数组。它接受一个由多个子数组组成的 JSON 数组作为输入,并将这些子数组中相同位置的元素分别归组,输出为新的数组集合。
适用场景
- •当您有一个由键值对组成的数组(如 `[["name", "Alice"], ["age", 30]]`),需要将其分离为独立的键数组和值数组时。
- •当您需要将按行组织的数据(如 CSV 的每一行)转换为按列组织的数据时。
- •当您处理完数据并使用了 `zip` 操作进行合并后,需要反向操作以恢复原始的分组结构时。
工作原理
- •工具接收一个有效的 JSON 数组作为输入,该数组的每个元素本身也是一个数组(即分组数组)。
- •内部调用 lodash 的 `_.unzip` 函数处理输入数据。
- •函数将输入数组中每个子数组的第一个元素归为一组,第二个元素归为另一组,依此类推。
- •最终输出一个包含多个新数组的 JSON 数组,每个新数组由原始分组数组中相同位置的元素构成。
使用场景
用户案例
1. 分离键值对数据
- 背景原因
- 一个前端开发者从后端 API 获取了一组配置项,数据格式为 `["theme", "dark"], ["language", "zh"]`。他需要将配置名和配置值分别提取出来,用于在界面上构建设置表单。
- 解决问题
- 需要将嵌套的键值对数组拆分为独立的键数组和值数组。
- 如何使用
- 将 API 返回的数组 `[["theme", "dark"], ["language", "zh"], ["fontSize", 14]]` 粘贴到输入框。
- 效果
- 得到两个数组:`["theme", "language", "fontSize"]` 和 `["dark", "zh", 14]`,可以分别用于渲染表单标签和设置默认值。
2. 重组坐标点数据
- 背景原因
- 一位数据分析师有一组二维坐标点 `[[10, 20], [15, 25], [30, 40]]`,他需要分别对所有的 X 坐标和 Y 坐标进行统计计算(如求平均值)。
- 解决问题
- 需要将按点分组的坐标数组,拆分为独立的 X 坐标数组和 Y 坐标数组。
- 如何使用
- 将坐标数组 `[[10, 20], [15, 25], [30, 40]]` 输入到工具中。
- 效果
- 输出 `[[10, 15, 30], [20, 25, 40]]`,第一个数组是所有的 X 坐标,第二个数组是所有的 Y 坐标,便于进行后续的独立分析。
用 Samples 测试
json相关专题
常见问题
输入数据有什么格式要求?
输入必须是一个有效的 JSON 数组,且该数组的每个元素也必须是数组(例如 `[[1, "a"], [2, "b"]]`)。不支持非数组元素或无效的 JSON。
输出结果是什么样的?
输出是一个新的 JSON 数组。例如,输入 `[["a", 1], ["b", 2]]`,输出将是 `[["a", "b"], [1, 2]]`。
如果子数组长度不一致会怎样?
`_.unzip` 会以最长的子数组长度为准进行处理,长度不足的子数组在对应位置会用 `undefined` 填充。
使用这个工具需要编程知识吗?
不需要。您只需将符合格式的 JSON 数据粘贴到输入框,工具会自动处理并显示结果。
这个工具和“数组压缩(zip)”有什么关系?
它们是互逆操作。“数组压缩(zip)”将多个数组按位置合并为一个分组数组,而“数组解压(unzip)”则将一个分组数组拆回为多个数组。