我将使用 Lodash 来处理一维数组,将其转换为按 executeProcess
分组的二维数组结构,每个组包含 executeDept
和对应的列表。
const _ = require('lodash');
/**
* 将一维数组转换为按executeProcess分组的二维数组
* @param {Array} arr - 原始一维数组
* @returns {Array} 分组后的二维数组
*/
function transformArray(arr) {
// 使用Lodash的groupBy按executeProcess分组
const grouped = _.groupBy(arr, 'executeProcess');
// 转换为所需的二维数组格式
return _.map(grouped, (items, process) => {
// 取第一个元素的executeDept作为组的executeDept
const executeDept = items[0].executeDept || '';
return {
executeDept: executeDept,
list: items.map(item => {
// 复制原始对象并移除executeProcess和executeDept,保留其他属性
const { executeProcess, executeDept, ...rest } = item;
return rest;
})
};
});
}
// 示例用法
const originalArray = [
{ executeDept: '部门A', executeProcess: '流程1', name: '项目1' },
{ executeDept: '部门A', executeProcess: '流程1', name: '项目2' },
{ executeDept: '部门B', executeProcess: '流程2', name: '项目3' },
{ executeDept: '部门B', executeProcess: '流程2', name: '项目4' },
{ executeDept: '部门C', executeProcess: '流程3', name: '项目5' }
];
const result = transformArray(originalArray);
console.log(result);
代码说明:
_.groupBy
方法按 executeProcess
对原始数组进行分组,将相同 executeProcess
的元素归为一组。_.map
方法将分组后的对象转换为所需的格式:executeDept
属性,取值为该组第一个元素的 executeDept
list
属性,该属性是一个数组,包含该组的所有元素executeProcess
和 executeDept
属性,只保留其他属性这种处理方式确保了相同 executeProcess
的元素被合并到同一个组中,同时保留了 executeDept
信息。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
水瓶座前面是什么星座 | 平步青云什么意思 | 什么东西补血最快 | 唐筛21三体临界风险是什么意思 | 痔疮是什么 |
右手大拇指发麻是什么原因 | 镶牙是什么意思 | 大快朵颐是什么意思 | 彩字五行属什么 | 眼睛干痒用什么眼药水 |
中国特工组织叫什么 | 睡觉手麻是什么原因 | 吊兰开花有什么兆头 | 最里面的牙齿叫什么 | 小鬼是什么意思 |
pB什么意思 | 肝囊肿是什么意思 | 畸形是什么意思 | 脖子右侧疼是什么原因 | 活字印刷术是什么时候发明的 |
南京市徽为什么是貔貅hcv7jop5ns1r.cn | 西罗手表什么档次hcv8jop7ns1r.cn | 女人脸色发黄吃什么补得最快hcv7jop9ns0r.cn | 鼠分念什么hcv8jop1ns5r.cn | 12年属什么生肖hcv8jop4ns6r.cn |
什么叫肿瘤luyiluode.com | 多囊是什么原因造成的hcv8jop8ns1r.cn | 师团长是什么级别hcv8jop5ns4r.cn | 山药跟淮山有什么区别hcv8jop9ns7r.cn | 白茶什么季节喝好hcv8jop2ns4r.cn |
痄腮是什么意思hcv9jop4ns9r.cn | heineken是什么啤酒hcv9jop5ns7r.cn | 冰冻三尺非一日之寒是什么意思hcv9jop6ns9r.cn | 登对是什么意思hcv8jop7ns2r.cn | 眼角痒用什么眼药水onlinewuye.com |
春天的雨是什么hcv8jop0ns7r.cn | 补办手机卡需要什么hcv9jop2ns1r.cn | 眼睑肿是什么原因hcv8jop4ns6r.cn | 尿检是检查什么的hcv8jop0ns2r.cn | 眼睛有红血丝是什么原因hcv7jop5ns0r.cn |