分类

按值反转

使用 lodash _.invertBy 按值分组反转

按值或转换后的值对键进行分组。

亮点:

  • 使用 lodash _.invertBy
  • 将键分组成数组
  • 支持可选属性路径迭代器

示例:

  • 对象:{"a":"x","b":"x","c":"y"}
  • 结果:{"x":["a","b"],"y":["c"]}

输入 JSON 对象

用于值转换的可选属性路径

关键信息

分类
Data Processing
输入类型
textarea, text
输出类型
text
样本覆盖
4
支持 API
Yes

概览

按值反转工具是一款基于 lodash _.invertBy 方法的高效数据处理工具,能够快速将 JSON 对象中的键按其对应的值进行分组,并将结果以数组形式呈现,是整理复杂数据结构的理想选择。

适用场景

  • 需要将具有相同属性值的键归类到一起时
  • 在处理大型 JSON 对象并希望按特定字段进行反向索引时
  • 需要对数据进行快速分组统计或重构数据映射关系时

工作原理

  • 在输入框中粘贴您的 JSON 对象数据。
  • (可选)在迭代器路径中指定属性路径,以便对值进行转换或提取。
  • 点击执行,工具将自动调用 _.invertBy 方法进行反转。
  • 获取按值分组后的新 JSON 对象,其中每个值对应一个包含原始键的数组。

使用场景

将用户 ID 按所属部门进行分组统计
根据状态码将任务列表分类归档
重构配置项,将相同配置值的参数聚合在一起

用户案例

1. 按状态码分类任务

前端开发人员
背景原因
拥有一个包含多个任务 ID 及其对应状态的对象,需要快速找出所有处于相同状态的任务。
解决问题
手动筛选效率低且容易出错。
如何使用
输入任务对象,直接运行反转工具。
示例配置
{"task1": "pending", "task2": "done", "task3": "pending"}
效果
得到结果 {"pending": ["task1", "task3"], "done": ["task2"]},清晰展示了各状态下的任务列表。

2. 提取嵌套属性进行分组

数据分析师
背景原因
需要根据用户对象中嵌套的 'role' 字段对用户 ID 进行分组。
解决问题
直接反转无法处理嵌套结构。
如何使用
输入用户数据,并在迭代器路径中填入 'role'。
示例配置
{"user1": {"role": "admin"}, "user2": {"role": "user"}, "user3": {"role": "admin"}}
效果
成功按角色将用户 ID 分组为 {"admin": ["user1", "user3"], "user": ["user2"]}。

用 Samples 测试

json

相关专题

常见问题

什么是按值反转?

按值反转是指将对象的键值对关系颠倒,将原有的值作为新对象的键,并将原有的键收集为数组作为新值。

该工具使用了什么技术?

该工具底层集成了 lodash 库的 _.invertBy 方法,确保了数据处理的准确性和高性能。

迭代器路径有什么作用?

迭代器路径允许你在反转前对对象的值进行二次处理,例如提取嵌套对象中的某个属性作为分组依据。

如果多个键具有相同的值会怎样?

所有具有相同值的键会被自动归入同一个数组中,作为该值对应的键的值。

输入的数据格式有什么要求?

输入必须是标准的 JSON 对象格式,例如 {"a": 1, "b": 1, "c": 2}。

API 文档

请求端点

POST /zh/api/tools/invert-by

请求参数

参数名 类型 必填 描述
objectInput textarea 输入 JSON 对象
iterateePath text 用于值转换的可选属性路径

响应格式

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
文本: 文本

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-invert-by": {
      "name": "invert-by",
      "description": "使用 lodash _.invertBy 按值分组反转",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=invert-by",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

如果遇见问题,请联系我们:[email protected]