VUE 分组取最大,生成子集合
// 分组函数
const groupByAge = (docs: TOSDepositoryDTO[]): Record<number, TOSDepositoryDTO[]> => {
return docs.reduce((acc, d) => {
if (!acc[d.approvalId]) acc[d.approvalId] = [];
acc[d.approvalId].push(d);
return acc;
}, {} as Record<number, TOSDepositoryDTO[]>);
};
// 获取每组最大用户和其他用户的函数
const getMaxUserWithOthersByAge = (docs: TOSDepositoryDTO[]) => {
const groupedUsers = groupByAge(docs);
return Object.entries(groupedUsers).map(([approvalId, usersGroup]) => {
// 根据 id 获取最大用户
const maxUser = usersGroup.reduce((max, current) => (current.revisionNumber > max.revisionNumber ? current : max));
maxUser.items = usersGroup.filter(user => user.id !== maxUser.id); // 过滤掉最大用户,生成其他用户的子数组
return maxUser;
});
};
const getTOSDepository = async () => {
var resDoc = await ClientService.getTOSDepository(model.value.id);
documents.value = getMaxUserWithOthersByAge(resDoc);
console.log(documents.value);
}
const sectorList = ref<SectorDTO[]>();
const industrySectorList = ref<SectorDTO[]>();
sectorList.value = industrySectorList.value?.filter(m => selectIndustrys.value?.includes(m.industryID))
watch([selectIndustrys], () => {
console.log(3311111, selectIndustrys.value);
sectorList.value = industrySectorList.value?.filter(m => selectIndustrys.value?.includes(m.industryID))
// if (selectIndustrys.value)
// IndustryList.value?.filter(m => selectIndustrys.value?.includes(m.industryID)).forEach(i => { console.log(111, i.items); sectorList.value?.concat(i.items) })
})
IndustryList.value = industrySectorList.value.reduce<SectorDTO[]>((accumulator, current) => {
const exists = accumulator.some(item => item.industryName === current.industryName && item.industryID === current.industryID);
if (!exists) accumulator.push(current); console.log(5555, current);
return accumulator;
}, []);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2018-09-18 JS正则表达式验证数字
2013-09-18 small zhishi