分类

按条件移除

使用 lodash _.remove 按条件移除数组元素

当元素满足选择的谓词时将其从数组中移除。

亮点:

  • 使用 lodash _.remove
  • 支持数字和字符串比较
  • 返回剩余数组的 JSON

示例:

  • 数组:[1, 2, 3, 4]
  • 谓词:greater-than
  • 比较值:2
  • 结果:[1, 2]

输入 JSON 数组

选择移除条件

比较值(大多数谓词需要)

关键信息

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

概览

这是一个基于 lodash `_.remove` 的数组处理工具,能够根据您设定的条件(谓词)精准移除数组中的元素。无论是数字比较还是字符串匹配,它都能快速返回过滤后的新数组,帮助您高效完成数据清洗与整理。

适用场景

  • 需要从数组中批量移除满足特定条件(如大于、等于、包含某字符串)的元素时。
  • 在进行数据预处理或清洗,希望快速过滤掉无效、异常或不符合要求的数据项时。
  • 当您需要基于一个明确的规则(谓词)来精简数组内容,而不是手动逐一删除时。

工作原理

  • 在“数组”输入框中,粘贴或输入一个有效的 JSON 数组。
  • 从“谓词类型”下拉菜单中选择一个移除条件,例如“小于”、“字符串包含”或“为空值”。
  • 如果所选谓词需要,在“比较值”输入框中提供用于比较的数值或字符串。
  • 工具将使用 lodash 的 `_.remove` 方法执行操作,并输出移除指定元素后剩余的数组。

使用场景

数据清洗:从传感器读数列表中移除所有为 `null` 或 `undefined` 的无效记录。
列表过滤:在一组产品ID中,移除所有以“DEPRECATED_”开头的已下架产品ID。
数值筛选:处理一份成绩列表,移除所有低于60分的不及格成绩,只保留及格分数进行后续分析。

用户案例

1. 清理销售数据中的异常高值

数据分析师
背景原因
分析师拿到一份每日销售金额列表 `[150, 220, 180, 9999, 210, 195]`,其中 `9999` 是一个明显的录入错误,需要移除。
解决问题
手动查找并删除大数组中的异常值效率低下且容易出错。
如何使用
将销售金额数组粘贴到“数组”输入框,选择“大于 (>)”作为谓词类型,并在“比较值”中输入 `5000`。
示例配置
{
  "array": [150, 220, 180, 9999, 210, 195],
  "predicateType": "greater-than",
  "compareValue": "5000"
}
效果
工具返回 `[150, 220, 180, 210, 195]`,异常值 `9999` 已被成功移除。

2. 从待办列表中移除已完成项

背景原因
有一个任务列表 `["买牛奶", "完成报告 DONE", "取快递", "回复邮件 DONE"]`,所有标记为“DONE”的任务需要被移除。
解决问题
需要根据文本后缀批量清理列表,手动操作繁琐。
如何使用
输入任务数组,选择“字符串结尾”谓词,并在“比较值”中输入 `" DONE"`(注意空格)。
示例配置
{
  "array": ["买牛奶", "完成报告 DONE", "取快递", "回复邮件 DONE"],
  "predicateType": "string-ends-with",
  "compareValue": " DONE"
}
效果
返回 `["买牛奶", "取快递"]`,所有已完成任务被过滤掉。

3. 移除用户数据中的空字段

后端工程师
背景原因
在处理API返回的用户标签数组 `["vip", null, "active", undefined, "beta"]` 时,需要移除所有空值以确保数据整洁。
解决问题
空值 (`null`, `undefined`) 可能导致后续处理逻辑出错,需要预先清除。
如何使用
输入包含空值的数组,直接选择“为空值 (null/undefined)”谓词,此谓词无需比较值。
示例配置
{
  "array": ["vip", null, "active", undefined, "beta"],
  "predicateType": "is-nullish"
}
效果
得到干净的数组 `["vip", "active", "beta"]`,所有空值已被移除。

用 Samples 测试

json, video

相关专题

常见问题

这个工具支持哪些移除条件?

支持多种条件,包括数值比较(小于、大于、等于、不等于)、字符串匹配(包含、开头、结尾)以及状态判断(为空值、为真值、为假值)。

所有谓词都需要“比较值”吗?

不是。“为空值”、“为真值”、“为假值”这三类谓词不需要比较值,其他大多数谓词都需要提供一个比较值。

可以处理嵌套数组或对象数组吗?

工具主要针对一维数组的元素值进行判断。对于对象数组,谓词判断的是整个对象,通常需要使用“等于”或“不等于”配合完整的对象JSON作为比较值。

操作会修改我原来的数组吗?

不会。工具在内部处理数组的副本,最终返回的是移除元素后的新数组,您的原始输入数据保持不变。

如果我想撤销移除操作怎么办?

由于工具不修改原始数据,您只需重新输入或粘贴原始数组即可恢复。建议在操作前保留原始数据的备份。

API 文档

请求端点

POST /zh/api/tools/remove-by-predicate

请求参数

参数名 类型 必填 描述
array textarea 输入 JSON 数组
predicateType select 选择移除条件
compareValue text 比较值(大多数谓词需要)

响应格式

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

AI MCP 文档

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

{
  "mcpServers": {
    "elysiatools-remove-by-predicate": {
      "name": "remove-by-predicate",
      "description": "使用 lodash _.remove 按条件移除数组元素",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=remove-by-predicate",
      "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]