项目场景:
`后端返回一个大的数组,前端需要将此数组根据id来拆分成多个数组
问题描述
数据内容:
const caseList = [
{
busi_name: 'Android标准兼容性测试',
case_creator: 'user',
case_desc: '终端标准兼容性测试用例',
case_id: 5630162,
},
{
busi_name: 'Android标准兼容性测试',
case_creator: 'user',
case_desc: '终端标准兼容性测试用例',
case_id: 5630162,
},
{
busi_name: 'Android标准兼容性测试',
case_creator: 'user',
case_desc: '终端标准兼容性测试用例',
case_id: 5630163,
},
{
busi_name: 'Android标准兼容性测试',
case_creator: 'user',
case_desc: '终端标准兼容性测试用例',
case_id: 5630163,
},
];
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
原因分析:
能百度绝不自己想哈哈哈,找到一个符合我现在场景的解决方法
解决方案:
这个是我百度的答案
/article/9394270442/
后面代码给同事看,说这个看着太复杂了,给了一个解决方案。
const map = new Map();
caseList.forEach((eachCase) => {
const { case_id } = eachCase;
if (map.has(case_id)) {
map.get(case_id).push(eachCase);
} else {
map.set(case_id, [eachCase]);
}
});
const sameIdCaseArrays = [];
for (const [, value] of map) {
sameIdCaseArrays.push(value);
}
return sameIdCaseArrays;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
看完之后觉得这样确实比之前更容易读懂一些~~