Skip to content

Home > @zero-dim/utils > getValueFromPath

getValueFromPath() function

根据路径获取对象中的值

Signature:

typescript
export declare function getValueFromPath(obj: any, path: string): any;

Parameters

Parameter

Type

Description

obj

any

要获取值的源对象

path

string

点分隔的路径字符串,支持数组索引,如 'user.addresses[0].street'

**Returns:**

any

路径对应的值,如果路径不存在则返回 undefined

Remarks

  • 支持深层对象访问 - 支持数组索引访问 - 路径不存在时返回 undefined - 自动处理空值情况

Example

typescript
// 示例1: 基础对象访问
const data = {
  user: {
    profile: {
      name: 'John Doe'
    }
  }
};
const name = getValueFromPath(data, 'user.profile.name');
// 返回: 'John Doe'

// 示例2: 数组访问
const users = {
  groups: [{
    members: ['Alice', 'Bob', 'Charlie']
  }]
};
const member = getValueFromPath(users, 'groups[0].members[1]');
// 返回: 'Bob'

// 示例3: 处理不存在的路径
const result = getValueFromPath(data, 'user.nonexistent.field');
// 返回: undefined

// 示例4: 复杂嵌套结构
const complex = {
  organization: {
    departments: [
      { name: 'IT', employees: [{ id: 1, name: 'John' }] }
    ]
  }
};
const employee = getValueFromPath(complex, 'organization.departments[0].employees[0].name');
// 返回: 'John'