16 lines
438 B
TypeScript
16 lines
438 B
TypeScript
export function sortByProperty(
|
|
priorityObj: Record<string, number>,
|
|
property: string,
|
|
) {
|
|
return (objA: Record<string, any>, objB: Record<string, any>) => {
|
|
const priorityA = priorityObj[objA[property]];
|
|
const priorityB = priorityObj[objB[property]];
|
|
|
|
if (priorityA && !priorityB) return -1;
|
|
if (!priorityA && priorityB) return 1;
|
|
if (priorityA && priorityB) return priorityA - priorityB;
|
|
|
|
return 0;
|
|
};
|
|
}
|