# 从键值对构建对象

使用 lodash _.fromPairs 将键值对数组转换为对象

> 标准页面: https://elysiatools.com/zh/tools/from-pairs

- **分类:** Data Processing

- **关键词:** 数组, 对象, 键值对, 转换, lodash

## 概述

将键值对数组转换为单个对象。

## 功能特性：
- 接受 [键, 值] 对数组
- 从这些对创建对象
- 处理各种数据类型的值
- 支持字符串、数字和符号键
- 使用 lodash _.fromPairs 进行可靠转换

## 示例：
- 输入：[["a", 1], ["b", 2]] → 输出：{a: 1, b: 2}
- 输入：[["name", "John"], ["age", 30]] → 输出：{name: "John", age: 30}
- 输入：[[1, "one"], [2, "two"]] → 输出：{1: "one", 2: "two"}

## 使用场景：
- **对象构建**：从对数组构建对象
- **数据转换**：将表格数据转换为对象格式
- **配置构建**：从键值列表创建配置对象
- **数据导入**：将导入的对数组转换为对象

## 输入项

- **键值对** (textarea): 输入有效的 \[键, 值\] 对 JSON 数组

## 适用场景

- 当你需要将从 API 或数据库获取的键值对数组转换为易于访问的对象格式时。
- 在处理表格数据或 CSV 导入时，需要将行数据转换为键值映射对象。
- 在构建动态配置项时，通过数组列表快速生成配置对象。

## 工作原理

- 在输入框中粘贴你的键值对数组（例如：\[\["key", "value"\]\]）。
- 工具会自动识别数组结构并调用 lodash 的转换逻辑。
- 点击转换按钮，即可立即获得对应的 JSON 对象输出。

## 使用案例

- 将 API 返回的元数据数组转换为方便调用的配置对象。
- 将前端表单收集的键值对列表转换为后端所需的 JSON 数据结构。
- 快速将简单的映射表转换为程序可用的查找对象。

## 常见问题

### 什么是键值对数组？

键值对数组是一个嵌套数组，其中每个子数组包含两个元素：第一个元素作为对象的键，第二个元素作为对应的值。

### 如果数组中有重复的键会发生什么？

如果存在重复的键，后面的键值对会覆盖前面的键值对，最终对象中只会保留该键的最后一个值。

### 支持哪些类型的键？

支持字符串、数字和符号作为键，工具会自动将其转换为对象的属性名。

### 这个工具是基于什么实现的？

本工具基于 lodash 库的 _.fromPairs 函数，确保了转换逻辑的稳定性和准确性。

### 输入格式有特殊要求吗？

输入必须是有效的 JSON 格式数组，例如 [["a", 1], ["b", 2]]。

## 相关工具

- [对象赋值](https://elysiatools.com/zh/tools/assign-object): 使用 lodash _.assign 将来源属性赋给目标对象
- [数组分块](https://elysiatools.com/zh/tools/chunk-array): 使用 lodash _.chunk 将数组按指定大小分割成块
- [数组压缩工具](https://elysiatools.com/zh/tools/compact-array): 使用 lodash _.compact 从数组中移除假值
- [对象默认值](https://elysiatools.com/zh/tools/defaults-object): 使用 lodash _.defaults 为对象填充默认值
- [删除数组前N项](https://elysiatools.com/zh/tools/drop-items): 使用lodash _.drop删除数组的前N个元素
- [从右侧删除数组元素](https://elysiatools.com/zh/tools/drop-right-items): 使用 lodash 的 _.dropRight 从数组末尾删除 N 个元素
- [条件移除元素](https://elysiatools.com/zh/tools/drop-while): 使用 lodash 的 _.dropWhile 在满足条件时从数组开头移除元素
- [填充数组](https://elysiatools.com/zh/tools/fill-array): 使用 lodash _.fill 从起始索引到结束索引用值填充数组

## 示例

- [Grafana 高级应用示例](https://elysiatools.com/zh/samples/grafana-samples): 全面的 Grafana 示例，涵盖高级仪表板设计、告警配置、数据源集成和插件开发
- [二维码示例](https://elysiatools.com/zh/samples/qrcode-samples): 用于测试二维码读取和生成工具的示例二维码图像
- [JWT 示例](https://elysiatools.com/zh/samples/jwt-samples): 从基础令牌结构到高级安全实现的全面JWT示例
- [PDF示例](https://elysiatools.com/zh/samples/pdf-samples): 2026-02-01 到 2026-02-10 工具生成的PDF示例
