Skip to content

Home > @zero-dim/utils > generateObjectFromPath

generateObjectFromPath() function

根据点分隔的路径字符串生成嵌套对象

Signature:

typescript
export declare function generateObjectFromPath(formData: any, path: string): void;

Parameters

Parameter

Type

Description

formData

any

要操作的目标对象

path

string

点分隔的路径字符串,可以包含数组索引,如 'user.addresses[0].street'

**Returns:**

void

Remarks

  • 支持普通对象路径: 'user.profile.name' - 支持数组索引路径: 'users[0].name' - 自动创建数组和对象结构 - 路径不存在时会自动创建 - 保护已有的数据结构

Example

typescript
// 示例1: 基础对象路径
const data = {};
generateObjectFromPath(data, 'user.profile.name');
// 结果: { user: { profile: { name: undefined } } }

// 示例2: 包含数组的路径
const formData = {};
generateObjectFromPath(formData, 'users[0].addresses[1].street');
// 结果: {
//   users: [{
//     addresses: [
//       undefined,
//       { street: undefined }
//     ]
//   }]
// }

// 示例3: 混合路径
const config = {};
generateObjectFromPath(config, 'app.settings[0].database.connections[2].timeout');
// 结果: {
//   app: {
//     settings: [{
//       database: {
//         connections: [
//           undefined,
//           undefined,
//           { timeout: undefined }
//         ]
//       }
//     }]
//   }
// }