miniprogram/utils/common.ts
@@ -0,0 +1,26 @@ /** * 指定一个键,映射到整个行,也可以映射多行 * @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; };