ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
21 lines (18 loc) • 649 B
JavaScript
import { nativeUndefined } from './internals/native.js';
import isNil from './isNil.js';
import isUndefined from './isUndefined.js';
import toPath from './toPath.js';
function baseGet(object, key) {
var paths = toPath(key, object);
var length = paths.length;
var index = 0;
while (!isNil(object) && index < length) {
object = object[paths[index++]];
}
return index && index === length ? object : nativeUndefined;
}
function get(object, key, defaultValue) {
var result = isNil(object) ? nativeUndefined : baseGet(object, key);
return isUndefined(result) ? defaultValue : result;
}
export { get as default };