1.使用reduce格式化数据
'1:2:3:4' => ['1', '1:2', '1:2:3', '1:2:3:4']
let str = '1:2:3:4'
let data = str.split(':').reduce((per: string[], cur: string) => {
const length = per.length
const code = length ? `${per[length - 1]}:${cur}` : cur
per.push(code)
return per
}, [])
2.根据相同属性值将一维数组聚合为二维数组
const arrayTwo = Object.values(arr.reduce((res, item) => {
res[item.class] ? res[item.class].push(item) : res[item.class] = [item];
return res;
}, {}));