分类

按字段去重

使用 lodash _.uniqBy 按属性路径去重

使用属性路径为数组去重。

亮点:

  • 使用 lodash _.uniqBy
  • 支持属性路径(如 idmeta.key
  • 返回 JSON 格式的唯一值

示例:

  • 数组:[{"id": 1}, {"id": 1}, {"id": 2}]
  • 路径:id
  • 结果:[{"id": 1}, {"id": 2}]

输入 JSON 数组

用于比较的属性路径

关键信息

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

概览

这是一个基于 lodash 的 `_.uniqBy` 方法的在线工具,用于根据指定的属性路径,从 JSON 数组中移除重复项,快速得到唯一值列表。

适用场景

  • 当您需要根据对象中的某个特定字段(如 `id`、`email`)对数组进行去重时。
  • 当处理包含嵌套属性的对象数组(如 `user.profile.name`),并希望基于该嵌套路径去重时。
  • 当您需要快速清理数据中的重复记录,而无需编写任何代码时。

工作原理

  • 在“数组”输入框中粘贴或输入您的 JSON 数组数据。
  • 在“属性路径”输入框中指定用于判断重复的字段路径(例如 `id` 或 `address.city`)。
  • 工具内部调用 lodash 的 `_.uniqBy` 函数,根据您提供的路径比较数组元素。
  • 处理完成后,页面将直接显示去重后的 JSON 数组结果。

使用场景

清洗从 API 获取的用户列表,确保每个用户 ID 只出现一次。
处理前端表单提交的重复数据条目,例如根据邮箱地址去重。
分析日志数据时,根据事件类型或来源 IP 提取唯一值列表。

用户案例

1. 根据用户ID去重

前端开发者
背景原因
从后端接口获取了一份用户活动日志数组,其中包含大量重复的用户记录。
解决问题
需要根据用户的 `id` 字段去除重复项,以便统计独立用户数。
如何使用
将包含重复用户对象的数组粘贴到输入框,并在属性路径中填写 `id`。
效果
得到一个仅包含唯一用户的数组,每个用户的 `id` 都是唯一的。

2. 按嵌套属性去重订单

数据分析师
背景原因
有一个订单数组,每个订单对象包含嵌套的 `product.sku` 信息。同一商品可能被多次订购。
解决问题
需要提取所有被订购过的唯一商品 SKU 列表,用于生成商品报告。
如何使用
输入订单数组,并将属性路径设置为 `product.sku`。
效果
输出一个数组,其中每个元素代表一个唯一的商品 SKU(基于首次出现的订单)。

用 Samples 测试

json, video

相关专题

常见问题

属性路径支持嵌套对象吗?

支持。您可以使用点号分隔的路径,例如 `meta.userId` 或 `profile.contact.email`。

这个工具会修改我的原始数组吗?

不会。工具在处理时会创建一个新数组,您的原始输入数据不会被更改。

处理大型数组时性能如何?

工具依赖 lodash 库,对于常规大小的数组(数千条记录)处理速度很快。对于极大数量的数据,性能取决于您的浏览器和设备。

如果数组中的对象没有指定的路径会怎样?

lodash 的 `_.uniqBy` 会将没有该路径的对象视为 `undefined`,因此这些对象之间可能会被视为重复项。

它和直接使用 `new Set()` 有什么区别?

`new Set()` 适用于简单值数组(如字符串、数字)的去重。本工具专门用于对象数组,通过指定对象内部的某个属性值来进行去重判断。

API 文档

请求端点

POST /zh/api/tools/uniq-by

请求参数

参数名 类型 必填 描述
array textarea 输入 JSON 数组
path text 用于比较的属性路径

响应格式

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

AI MCP 文档

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

{
  "mcpServers": {
    "elysiatools-uniq-by": {
      "name": "uniq-by",
      "description": "使用 lodash _.uniqBy 按属性路径去重",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=uniq-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]