arayts
Version:
让 TypeScript 开发如丝般顺滑。ArayTS 提供了一套高效、优雅的算法工具集,包含常用的数据结构与算法实现,帮助开发者轻松构建可靠的应用程序。
66 lines • 2.07 kB
TypeScript
export declare class ObjectUtils {
/**
* 深拷贝对象
*/
static deepClone<T>(obj: T): T;
/**
* 合并对象
*/
static merge<T extends object>(target: T, ...sources: Partial<T>[]): T;
/**
* 获取对象指定路径的值
*/
static get<T>(obj: T, path: string, defaultValue?: any): any;
/**
* 判断对象是否为空
*/
static isEmpty(obj: object): boolean;
/**
* 剔除对象中的指定属性
* @param obj 源对象
* @param props 要剔除的属性数组
* @param exclude 为true时剔除指定属性,为false时只保留指定属性
*/
static omit<T extends object, K extends keyof T>(obj: T, props: K[], exclude?: boolean): Partial<T>;
/**
* 比较两个对象是否相等
*/
static isEqual(obj1: any, obj2: any): boolean;
/**
* 将对象扁平化,支持自定义分隔符
*/
static flatten(obj: object, delimiter?: string, prefix?: string): Record<string, any>;
/**
* 将对象转换为查询字符串
*/
static toQueryString(obj: Record<string, any>): string;
/**
* 重命名对象的属性
*/
static renameKeys<T extends object>(obj: T, keysMap: Record<string, string>): Record<string, any>;
/**
* 根据条件过滤对象的属性
*/
static filterProperties<T extends object>(obj: T, predicate: (value: any, key: string) => boolean): Partial<T>;
/**
* 对象深度合并
*/
static deepMerge<T extends object>(target: T, ...sources: Partial<T>[]): T;
/**
* 判断是否为对象
*/
private static isObject;
/**
* 将对象转换为数组
*/
static toArray<T extends object>(obj: T): [keyof T, T[keyof T]][];
/**
* 从数组创建对象
*/
static fromArray<T = any>(arr: [string, T][]): Record<string, T>;
/**
* 对象属性排序
*/
static sort<T extends object>(obj: T, compareFn?: (a: [string, any], b: [string, any]) => number): T;
}
//# sourceMappingURL=object.d.ts.map