index.ts 1.2 KB

12345678910111213141516171819202122232425262728
  1. /**传入数组枚举数组和key数组 找到在枚举数组中的description值
  2. * @param {Array} enumArr 枚举数组
  3. * @param {Array} arr 要查找的数组
  4. * */
  5. export function getDescriptions(enumArr: any[], arr: any[]) {
  6. // 创建一个字典来存储 value 和 description 的映射
  7. const valueToDescription = enumArr.reduce((acc, item) => {
  8. acc[item.value] = item.description;
  9. return acc;
  10. }, {});
  11. // 使用 arr2 中的 value 查找对应的 description
  12. return arr.map(value => valueToDescription[value]);
  13. }
  14. /**传入数组枚举数组和key数组 找到在枚举数组中的description值
  15. * @param {Array} enumArr 枚举数组
  16. * @param {Array} customParams 要插入数据的目标可以不传 { 0: { disabled: true } } 第0个数据内插入disabled: true
  17. * */
  18. export function convertEnumArr(enumArr: any, customParams:any = {}) {
  19. let result:{[key:string]:{text:string,disabled?:boolean}} = {};
  20. for (let item of enumArr) {
  21. let newItem = { text: item.description };
  22. if (customParams[item.value]) {
  23. Object.assign(newItem, customParams[item.value]);
  24. }
  25. result[item.value] = newItem;
  26. }
  27. return result;
  28. }