关键信息
- 分类
- 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, videoWebRTC 实时通信示例
全面的 WebRTC 示例,用于点对点音视频通信、数据通道、屏幕共享和信令服务器实现
preferred input family json
十六进制/Unicode转换样本
十六进制和Unicode转义序列转换的测试样本
preferred input family json
JWT 示例
从基础令牌结构到高级安全实现的全面JWT示例
preferred input family json
AWS EventBridge 示例
AWS EventBridge 示例,包括事件总线、规则、目标、模式注册表、自定义事件和跨账户事件路由,适用于无服务器事件驱动架构
preferred input family json
相关专题
常见问题
属性路径支持嵌套对象吗?
支持。您可以使用点号分隔的路径,例如 `meta.userId` 或 `profile.contact.email`。
这个工具会修改我的原始数组吗?
不会。工具在处理时会创建一个新数组,您的原始输入数据不会被更改。
处理大型数组时性能如何?
工具依赖 lodash 库,对于常规大小的数组(数千条记录)处理速度很快。对于极大数量的数据,性能取决于您的浏览器和设备。
如果数组中的对象没有指定的路径会怎样?
lodash 的 `_.uniqBy` 会将没有该路径的对象视为 `undefined`,因此这些对象之间可能会被视为重复项。
它和直接使用 `new Set()` 有什么区别?
`new Set()` 适用于简单值数组(如字符串、数字)的去重。本工具专门用于对象数组,通过指定对象内部的某个属性值来进行去重判断。