reduce使用记录

138 阅读1分钟

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.根据相同属性值将一维数组聚合为二维数组

image.png

const arrayTwo = Object.values(arr.reduce((res, item) => {
  res[item.class] ? res[item.class].push(item) : res[item.class] = [item];
  return res;
}, {}));