mstf-kit
Version:
一个现代化的 JavaScript/TypeScript 工具库,提供了丰富的常用工具函数
40 lines (39 loc) • 1.31 kB
TypeScript
/**
* 对象相关工具函数
*/
/**
* 深拷贝对象
* @param obj 要拷贝的对象
*/
export declare function deepClone<T>(obj: T): T;
/**
* 获取对象的嵌套属性值
* @param obj 目标对象
* @param path 属性路径,可以是字符串路径(用.分隔)或者路径数组
* @param defaultValue 默认值,当属性不存在时返回
*/
export declare function get(obj: any, path: string | string[], defaultValue?: any): any;
/**
* 设置对象的嵌套属性值
* @param obj 目标对象
* @param path 属性路径,可以是字符串路径(用.分隔)或者路径数组
* @param value 要设置的值
*/
export declare function set(obj: any, path: string | string[], value: any): void;
/**
* 从对象中选择指定的属性
* @param obj 源对象
* @param keys 要选择的属性数组
*/
export declare function pick<T extends object, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
/**
* 从对象中排除指定的属性
* @param obj 源对象
* @param keys 要排除的属性数组
*/
export declare function omit<T extends object, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
/**
* 合并对象(深度合并)
* @param objects 要合并的对象数组
*/
export declare function merge<T extends Record<string, any>>(...objects: T[]): T;