EASYAIuniappNewUI/node_modules/@tuniao/tnui-vue3-uniapp/libs/lodash/get.ts
2025-02-08 18:50:38 +08:00

23 lines
660 B
TypeScript

import { isKey } from './_isKey'
import { castPath } from './_castPath'
import { toKey } from './_toKey'
import type { PropertyPath } from './_common'
function baseGet(object: any, path: PropertyPath) {
path = isKey(path, object) ? [path] : castPath(path)
let index = 0
const length = path.length
while (object != null && index < length) {
object = object[toKey(path[index++])]
}
return index && index == length ? object : undefined
}
export function get(object: any, path: PropertyPath, defaultValue?: any): any {
const result = object == null ? undefined : baseGet(object, path)
return result === undefined ? defaultValue : result
}