TS列表分组

  groupArr(list: Array<any>, field: string, fieldName: string): Array<any> {
    var fieldList: Array<any> = [],
      att = [];
    list.forEach((e) => {
      if (!fieldList.some((m: any) => m.id == e[field])) {
        fieldList.push({ id: e[field], name: e[fieldName] });
      }
    });

    for (let item of fieldList) {
      var arr = list.filter((e) => {
        return e[field] == item.id;
      });
      att.push({
        GroupId: item.id,
        GroupName: item.name,
        list: arr,
      });
    }
    console.log(att);
    return att;
  }

 

posted @ 2020-10-08 09:43  a迪  阅读(1038)  评论(0)    收藏  举报