一级数组对象通过指定的某个相同key值转成二级数组对象

75 阅读2分钟

初始数据 menuList:

        [
          {
            createBy: '123',
            month: '132',
            createTime: '2022-01-17 01:00:45',
            updateBy: '123',
            year: '345',
            qyid: '4',
            updateTime: '2022-01-17 01:00:47',
            sum: '121',
            id: '1',
            dabh: '12',
            status: '2',
          },
          
          {
            createBy: '123',
            month: '132',
            createTime: '2022-01-17 01:00:45',
            updateBy: '123',
            year: '645',
            qyid: '4',
            updateTime: '2022-01-17 01:00:47',
            sum: '121',
            id: '2',
            dabh: '12',
            status: '2',
          },
            {
            createBy: '123',
            month: '132',
            createTime: '2022-01-17 01:00:45',
            updateBy: '123',
            year: '645',
            qyid: '4',
            updateTime: '2022-01-17 01:00:47',
            sum: '121',
            id: '6',
            dabh: '12',
            status: '2',
          },
          {
            createBy: '123',
            month: '132',
            createTime: '2022-01-17 01:00:45',
            updateBy: '123',
            year: '3789',
            qyid: '4',
            updateTime: '2022-01-17 01:00:47',
            sum: '121',
            id: '1',
            dabh: '12',
            status: '2',
          },
        ],
        newList:[]//初始化新变量接收
        

定义方法处理数据 filterData(){

            var order_sn=[];
            this.menuList.map(item=>{
                if(order_sn.indexOf(item.year)===-1){
                    this.newList.push({
                        year:item.year,
                        subList:[]
                    })
                    order_sn.push(item.year)
                }
            })
            this.newList.map(item=>{
                this.menuList.map(items=>{
                    if(item.year==items.year){
                        item.subList.push(items)
                    }
                })
            })
        }
        

最后输出结果为:

[

{
    "year": "345",
    "subList": [
        {
            "createBy": "123",
            "month": "132",
            "createTime": "2022-01-17 01:00:45",
            "updateBy": "123",
            "year": "345",
            "qyid": "4",
            "updateTime": "2022-01-17 01:00:47",
            "sum": "121",
            "id": "1",
            "dabh": "12",
            "status": "2"
        }
    ]
},
{
    "year": "645",
    "subList": [
        {
            "createBy": "123",
            "month": "132",
            "createTime": "2022-01-17 01:00:45",
            "updateBy": "123",
            "year": "645",
            "qyid": "4",
            "updateTime": "2022-01-17 01:00:47",
            "sum": "121",
            "id": "2",
            "dabh": "12",
            "status": "2"
        },
        {
            "createBy": "123",
            "month": "132",
            "createTime": "2022-01-17 01:00:45",
            "updateBy": "123",
            "year": "645",
            "qyid": "4",
            "updateTime": "2022-01-17 01:00:47",
            "sum": "121",
            "id": "6",
            "dabh": "12",
            "status": "2"
        }
    ]
},
{
    "year": "3789",
    "subList": [
        {
            "createBy": "123",
            "month": "132",
            "createTime": "2022-01-17 01:00:45",
            "updateBy": "123",
            "year": "3789",
            "qyid": "4",
            "updateTime": "2022-01-17 01:00:47",
            "sum": "121",
            "id": "1",
            "dabh": "12",
            "status": "2"
        }
    ]
}

]