分类

按键计数

使用 lodash _.countBy 按派生键计数

按派生键统计集合中的元素数量。

亮点:

  • 使用 lodash _.countBy
  • 支持 JSON 数组或对象
  • 支持 identity 或属性/路径迭代器

示例:

  • 集合:[{"type":"a"},{"type":"b"},{"type":"a"}]
  • 迭代器:type
  • 结果:{"a":2,"b":1}

输入 JSON 数组或对象

使用属性迭代器时的属性名或路径

关键信息

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

概览

这是一个基于 lodash `_.countBy` 的在线工具,用于快速统计 JSON 数组或对象集合中,按特定键(派生键)分组的元素数量。

适用场景

  • 需要快速统计一个 JSON 数组中,某个字段值出现的次数时。
  • 分析数据分布,例如统计不同类别、状态或标签的数量时。
  • 处理 API 返回的列表数据,需要按某个属性进行汇总计数时。

工作原理

  • 在“集合”输入框中粘贴或输入一个有效的 JSON 数组或对象。
  • 选择迭代器类型:“原样”直接对元素计数,“属性/路径”则按指定字段计数。
  • 如果选择了“属性/路径”,在“迭代器”输入框中填写要计数的属性名或路径(如 `type` 或 `user.id`)。
  • 工具将调用 lodash 的 `_.countBy` 函数处理输入,并返回一个以派生键为属性、计数为值的 JSON 对象。

使用场景

统计产品列表中各“category”(类别)的产品数量。
分析用户行为日志,计算不同“action”(操作)的发生频率。
汇总调查问卷结果,按“answer”(答案选项)统计选择人数。

用户案例

1. 统计产品类型分布

背景原因
电商后台导出了一份产品清单 JSON,包含数百个产品,每个产品有 `type` 字段。
解决问题
需要快速知道“电子产品”、“家居用品”、“服饰”等各类别分别有多少个产品。
如何使用
将产品数组粘贴到“集合”框,选择“属性/路径”迭代器,在“迭代器”中输入 `type`。
效果
得到一个对象,如 `{"电子产品": 150, "家居用品": 89, "服饰": 210}`,清晰展示各类别数量。

2. 分析用户行为日志

数据分析师
背景原因
从服务器获取了一段用户行为日志数组,每条记录包含 `user.id`、`action`、`timestamp` 等字段。
解决问题
需要统计 `action` 字段中“click”、“view”、“purchase”等不同操作的总次数,以了解用户主要行为。
如何使用
输入日志数组,选择“属性/路径”迭代器,在“迭代器”中输入 `action`。
效果
输出 `{"click": 1024, "view": 3056, "purchase": 87}`,快速得到各行为的汇总数据。

3. 计算数字出现频率

背景原因
有一个简单的数字数组 `[1, 2, 2, 3, 3, 3, 4]`。
解决问题
想知道每个数字在这个数组中出现了多少次。
如何使用
输入该数组,迭代器类型选择“原样”(即 identity)。
效果
得到结果 `{"1": 1, "2": 2, "3": 3, "4": 1}`,精确统计了每个数字的出现频次。

用 Samples 测试

json

相关专题

常见问题

这个工具支持哪些输入数据类型?

支持标准的 JSON 数组或 JSON 对象。

“原样”和“属性/路径”迭代器有什么区别?

“原样”直接对集合中的每个元素本身进行计数;“属性/路径”则提取每个元素的指定属性值作为计数键。

输出结果是什么格式?

输出是一个 JSON 对象,其键是派生出的计数依据,值是该键在集合中出现的次数。

这个工具能处理多大的数据量?

作为浏览器端工具,处理能力受浏览器内存限制。对于超大型数据集(如数百万条),建议在后端处理。

如果输入格式错误会怎样?

工具会提示输入的 JSON 无效,请检查并修正您的 JSON 字符串格式。

API 文档

请求端点

POST /zh/api/tools/count-by

请求参数

参数名 类型 必填 描述
collection textarea 输入 JSON 数组或对象
iterateeType select -
iteratee text 使用属性迭代器时的属性名或路径

响应格式

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

AI MCP 文档

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

{
  "mcpServers": {
    "elysiatools-count-by": {
      "name": "count-by",
      "description": "使用 lodash _.countBy 按派生键计数",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=count-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]