|
/**
|
* 指定一个键,映射到整个行,也可以映射多行
|
* @param arr
|
* @param defaultProps
|
* @returns
|
*/
|
export const getItemMap = <T>(arr: T[], defaultProps = 'id', isMultiple = false) => {
|
if (!arr || arr.length === 0) return {};
|
|
const result = arr.reduce((acc, curr) => {
|
if (isMultiple) {
|
if (!acc[curr[defaultProps]]) {
|
acc[curr[defaultProps]] = [curr];
|
} else {
|
acc[curr[defaultProps]].push(curr);
|
}
|
} else {
|
acc[curr[defaultProps]] = curr;
|
}
|
return acc;
|
}, {}) as Record<string, T | T[]>;
|
|
return result;
|
};
|
|
export const getCurrentUrl = () =>{
|
const pages = getCurrentPages();
|
|
const currentPage = pages[pages.length - 1];
|
const url = `/${currentPage.route}`;
|
return url;
|
}
|