| | |
| | | |
| | | /** |
| | | * 指定一个键,映射到整个行,也可以映射多行 |
| | | * @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; |
| | | } |