public arr = [
{code: 'A1', index: 1, groupNo: '1'},
{code: 'A2', index: 2, groupNo: '1'},
{code: 'A3', index: 3, groupNo: '1'},
{code: 'B1', index: 4, groupNo: '2'},
{code: 'B2', index: 5, groupNo: '2'},
{code: 'C1', index: 5, groupNo: '3'},
{code: 'D1', index: 5, groupNo: '4'},
{code: 'C2', index: 5, groupNo: '3'},
];
private _changeArr(arr: any) {
// 网上大神给的方法 小白一时没看懂
const b = arr.reduce((r, x) => ((r[x.groupNo] || (r[x.groupNo] = []) ).push(x), r)
, {});
// 自己转换
const d = arr.reduce((prev, cur) => {
console.log(prev[cur.groupNo]);
console.log(cur);
if (!prev[cur.groupNo]) {
prev[cur.groupNo] = [];
}
prev[cur.groupNo].push(cur);
return prev;
}, {});
console.log(b, d);
}
结果如下