分类

遍历对象

使用 lodash _.forIn 遍历对象属性

遍历对象自身和继承的可枚举属性。

亮点:

  • 使用 lodash _.forIn
  • 包含继承的可枚举属性
  • 返回按顺序排列的键值列表

示例:

  • 对象:{"a":1,"b":2}
  • 结果:[{"key":"a","value":1},{"key":"b","value":2}]

输入 JSON 对象

关键信息

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

概览

这是一个使用 lodash `_.forIn` 方法遍历 JavaScript 对象属性的在线工具。它能遍历对象自身及其原型链上所有可枚举的属性,并返回一个按顺序排列的键值对列表,方便您进行后续处理。

适用场景

  • 当您需要遍历一个对象的所有属性,包括从原型链继承的可枚举属性时。
  • 当您需要将对象的键值对转换为一个有序的数组列表,以便进行映射、过滤或日志输出时。
  • 当您处理一个结构复杂或包含继承关系的对象,并希望一次性获取其所有可枚举条目时。

工作原理

  • 在输入框中粘贴或输入一个有效的 JSON 对象。
  • 工具内部调用 lodash 的 `_.forIn` 函数对该对象进行遍历。
  • 遍历过程会收集对象自身及原型链上的所有可枚举属性。
  • 最终输出一个包含 `{key, value}` 对象的数组,顺序与遍历顺序一致。

使用场景

数据转换:将从 API 获取的对象数据快速转换为前端组件(如表格、列表)所需的键值对数组格式。
调试与分析:在开发过程中,快速查看一个复杂对象(可能包含继承属性)的所有可枚举条目,用于调试或理解数据结构。
配置合并:遍历默认配置对象和用户自定义配置对象,将它们的属性合并到一个新的数组中进行对比或处理。

用户案例

1. 转换 API 响应数据

前端开发者
背景原因
后端返回了一个用户信息对象,其中部分属性来自其原型链。开发者需要将其转换为键值对数组,以便在页面上动态渲染一个属性列表。
解决问题
需要同时获取对象自身属性和原型链上的可枚举属性,并整理成统一格式。
如何使用
将 API 返回的 JSON 对象粘贴到输入框中。
效果
得到一个有序的 `[{key: 'name', value: '张三'}, {key: 'role', value: '管理员'}, ...]` 数组,可直接用于 `v-for` 或 `map` 渲染。

2. 调试对象继承关系

JavaScript 学习者
背景原因
学习者创建了一个构造函数 `Animal` 和一个继承自它的 `Dog` 实例。他想直观地看到 `dog` 实例上所有可枚举的属性,包括从 `Animal.prototype` 继承来的。
解决问题
需要一种简单的方法来查看实例对象上所有可枚举的属性(自身+继承),以理解原型链。
如何使用
将 `dog` 实例对象序列化为 JSON 后粘贴到输入框。
效果
输出列表清晰地展示了 `dog` 的自身属性(如 `name`)和继承属性(如 `bark` 方法),帮助理解属性来源。

用 Samples 测试

json

相关专题

常见问题

这个工具和 JavaScript 的 `for...in` 循环有什么区别?

核心功能相似,都用于遍历对象的可枚举属性(包括继承的)。本工具将结果直接整理成结构化的键值对数组,省去了手动收集的步骤。

它只遍历对象自身的属性吗?

不是。它会遍历对象自身以及其原型链上所有可枚举的属性,这与 `for...in` 循环的行为一致。

输出结果是什么格式?

输出是一个 JSON 数组,每个元素是一个对象,包含 `key` 和 `value` 两个字段,分别对应属性的键名和值。

可以处理嵌套对象吗?

可以。它会遍历顶层对象的所有可枚举属性。如果某个属性的值本身也是一个对象,该值会作为 `value` 字段的内容被完整输出,但不会递归遍历其内部属性。

这个工具的性能如何?

对于常规大小的对象,处理速度很快。其性能主要取决于对象的属性数量和复杂度,与原生 `for...in` 循环的性能开销相当。

API 文档

请求端点

POST /zh/api/tools/for-in-object

请求参数

参数名 类型 必填 描述
objectInput textarea 输入 JSON 对象

响应格式

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

AI MCP 文档

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

{
  "mcpServers": {
    "elysiatools-for-in-object": {
      "name": "for-in-object",
      "description": "使用 lodash _.forIn 遍历对象属性",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=for-in-object",
      "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]