ts数组对象根据某个属性进行分组

  async groupBy (sortData:OrderItem[]) {
    const arr = (array: OrderItem[], f: Function) => {
      const groups: {
         [key:string]: OrderItem[],
         } = {}
      array.forEach(function (o) {
          const group = JSON.stringify(f(o));
          groups[group] = groups[group] || [];
          groups[group].push(o);
      });
      return Object.keys(groups).map(function (group) {
          return groups[group];
      });
    }
    const sorted = arr(sortData, (item: OrderItem) => {
      return item.orderId;
    });
    return sorted;
  }

 

posted @ 2022-08-24 19:31  ㊀觉睡到小时候  阅读(392)  评论(0)    收藏  举报