分类

查找键

使用 lodash _.findKey 查找第一个匹配的键

查找第一个值满足谓词的键。

亮点:

  • 使用 lodash _.findKey
  • 支持属性、matchesProperty 或 matches 对象谓词
  • 返回第一个匹配键或 null

示例:

  • 对象:{"a":{"active":false},"b":{"active":true}}
  • 谓词类型:Property
  • 属性名:active
  • 结果:"b"

输入 JSON 对象

使用属性谓词时的真值属性名

matchesProperty 的属性路径

用于匹配的 JSON 值

用于匹配的 JSON 对象

关键信息

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

概览

这是一个基于 lodash _.findKey 的在线工具,用于在 JavaScript 对象中查找第一个值满足指定条件的键。它支持属性、匹配属性和匹配对象三种谓词类型,能快速定位目标数据。

适用场景

  • 当您需要根据特定条件(如某个属性为真)从对象中找出第一个匹配的键名时。
  • 当处理配置对象、状态对象或数据映射,需要快速定位到第一个符合要求的条目时。
  • 当您希望避免手动遍历对象键值对,提高查找效率时。

工作原理

  • 在“对象”输入框中粘贴或输入一个有效的 JSON 对象。
  • 从“谓词类型”下拉菜单中选择一种匹配方式:属性、匹配属性或匹配对象。
  • 根据所选谓词类型,填写相应的条件字段(如属性名、匹配路径和值,或匹配对象)。
  • 工具将使用 lodash 的 _.findKey 方法执行查找,并返回第一个匹配的键名,若无匹配则返回 null。

使用场景

从用户配置对象中,查找第一个被标记为“默认”的配置项键名。
在应用状态对象中,定位第一个处于“活动”状态的模块或组件键。
处理 API 返回的数据映射时,根据特定业务值(如状态码)找到对应的键。

用户案例

1. 查找第一个活跃用户

前端开发者
背景原因
从后端获取了一个用户对象集合,键是用户ID,值是包含用户信息的对象。
解决问题
需要快速找到第一个状态为“活跃”的用户的ID(即键名)。
如何使用
将用户对象粘贴到“对象”输入框。选择“属性”谓词类型,并在“属性名”中输入 `isActive`。
效果
工具返回第一个 `isActive` 属性为 `true` 的用户对象的键名(例如 `"user_123"`)。

2. 定位特定价格的商品

数据分析师
背景原因
有一个商品库存对象,键为SKU,值为包含价格等信息的对象。
解决问题
需要找到第一个价格恰好为 99.9 元的商品SKU。
如何使用
输入商品对象。选择“匹配属性”谓词类型。“匹配路径”输入 `price`,“匹配值”输入 `99.9`。
效果
工具返回第一个 `price` 属性值为 `99.9` 的商品的键名(SKU)。

用 Samples 测试

json

相关专题

常见问题

三种谓词类型有什么区别?

“属性”检查对象值中某个属性是否为真值;“匹配属性”检查对象值中指定路径的属性是否等于给定值;“匹配对象”检查对象值是否与给定的部分对象结构匹配。

如果没有找到匹配的键,会返回什么?

工具会返回 null。

可以查找嵌套对象中的键吗?

可以。使用“匹配属性”谓词类型,并在“匹配路径”中使用点号(如 `address.city`)来指定嵌套属性路径。

这个工具处理大对象时性能如何?

它依赖于 lodash 的优化实现,通常能高效处理。但性能也取决于对象大小和谓词复杂度。

“匹配对象”谓词中的对象需要完全匹配吗?

不需要。它执行的是部分匹配,只要目标对象值包含“匹配对象”中指定的所有键值对即可。

API 文档

请求端点

POST /zh/api/tools/find-key

请求参数

参数名 类型 必填 描述
objectInput textarea 输入 JSON 对象
predicateType select -
predicateProperty text 使用属性谓词时的真值属性名
matchPath text matchesProperty 的属性路径
matchValue textarea 用于匹配的 JSON 值
matchObject textarea 用于匹配的 JSON 对象

响应格式

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

AI MCP 文档

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

{
  "mcpServers": {
    "elysiatools-find-key": {
      "name": "find-key",
      "description": "使用 lodash _.findKey 查找第一个匹配的键",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=find-key",
      "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]