Skip to content

Home > @zero-dim/utils > setNestedObjectValue

setNestedObjectValue() function

根据字符串路径设置嵌套对象的值

Signature:

typescript
export declare function setNestedObjectValue(formData: any, keys: string[]): void;

Parameters

Parameter

Type

Description

formData

any

要操作的目标对象,通常是一个表单数据对象

keys

string[]

表示路径的字符串数组,每个元素代表一层属性名

**Returns:**

void

Remarks

  • 按数组顺序逐层创建对象属性 - 如果路径中的属性不存在,会自动创建空对象 - 最后一级属性会被设置为 undefined - 不会覆盖已存在的值

Example

typescript
// 示例1: 基础用法
const formData = {};
setNestedObjectValue(formData, ['user', 'address', 'city']);
// 结果: { user: { address: { city: undefined } } }

// 示例2: 处理已存在的属性
const data = { user: { name: 'John' } };
setNestedObjectValue(data, ['user', 'address', 'street']);
// 结果: {
//   user: {
//     name: 'John',
//     address: { street: undefined }
//   }
// }

// 示例3: 多层嵌套
const config = {};
setNestedObjectValue(config, ['database', 'connection', 'settings', 'timeout']);
// 结果: {
//   database: {
//     connection: {
//       settings: {
//         timeout: undefined
//       }
//     }
//   }
// }