Group json data

In the work, sometimes it is necessary to divide a large amount of data into several groups according to business needs

// 例如要将下方数据进行处理
var stuCount = [{
      "id": "1612321835288",
      "libraryCode": "D",
      "regionCode": "A",
      "positionCode": "A20-4-14",
      "inventoryStatus": "FREE",
      "vin": null,
      "positionType": "4N",
      "paddingRegionCode": "A20-4",
      "positionShowFlag": "HIDDEN",
      "linePosition": 25
    },
    {
      "id": "1612321835289",
      "libraryCode": "D",
      "regionCode": "A",
      "positionCode": "A20-4-15",
      "inventoryStatus": "FREE",
      "vin": null,
      "positionType": "4N",
      "paddingRegionCode": "A20-4",
      "positionShowFlag": "HIDDEN",
      "linePosition": 25
    },
    {
      "id": "1612321835290",
      "libraryCode": "D",
      "regionCode": "A",
      "positionCode": "A20-4-16",
      "inventoryStatus": "FREE",
      "vin": null,
      "positionType": "4N",
      "paddingRegionCode": "A20-4",
      "positionShowFlag": "HIDDEN",
      "linePosition": 25
    },
    {
      "id": "1612321835291",
      "libraryCode": "D",
      "regionCode": "A",
      "positionCode": "A20-4-17",
      "inventoryStatus": "FREE",
      "vin": null,
      "positionType": "4N",
      "paddingRegionCode": "A20-4",
      "positionShowFlag": "HIDDEN",
      "linePosition": 25
    },
    {
      "id": "1612321835292",
      "libraryCode": "D",
      "regionCode": "A",
      "positionCode": "A20-4-18",
      "inventoryStatus": "FREE",
      "vin": null,
      "positionType": "4N",
      "paddingRegionCode": "A20-4",
      "positionShowFlag": "HIDDEN",
      "linePosition": 25
    },
    {
      "id": "1612321835293",
      "libraryCode": "D",
      "regionCode": "A",
      "positionCode": "A20-4-19",
      "inventoryStatus": "FREE",
      "vin": null,
      "positionType": "4N",
      "paddingRegionCode": "A20-4",
      "positionShowFlag": "HIDDEN",
      "linePosition": 25
    },
    {
      "id": "1612321835294",
      "libraryCode": "D",
      "regionCode": "A",
      "positionCode": "A20-4-20",
      "inventoryStatus": "FREE",
      "vin": null,
      "positionType": "4N",
      "paddingRegionCode": "A20-4",
      "positionShowFlag": "HIDDEN",
      "linePosition": 25
    },
    {
      "id": "1612321835295",
      "libraryCode": "D",
      "regionCode": "A",
      "positionCode": "A20-4-21",
      "inventoryStatus": "FREE",
      "vin": null,
      "positionType": "4N",
      "paddingRegionCode": "A20-4",
      "positionShowFlag": "HIDDEN",
      "linePosition": 25
    },
    {
      "id": "1612321835296",
      "libraryCode": "D",
      "regionCode": "A",
      "positionCode": "A20-4-22",
      "inventoryStatus": "FREE",
      "vin": null,
      "positionType": "4N",
      "paddingRegionCode": "A20-4",
      "positionShowFlag": "HIDDEN",
      "linePosition": 25
    },
    {
      "id": "1612321835297",
      "libraryCode": "D",
      "regionCode": "A",
      "positionCode": "A20-4-23",
      "inventoryStatus": "FREE",
      "vin": null,
      "positionType": "4N",
      "paddingRegionCode": "A20-4",
      "positionShowFlag": "HIDDEN",
      "linePosition": 25
    },
    {
      "id": "1612321835298",
      "libraryCode": "D",
      "regionCode": "A",
      "positionCode": "A20-4-24",
      "inventoryStatus": "FREE",
      "vin": null,
      "positionType": "4N",
      "paddingRegionCode": "A20-4",
      "positionShowFlag": "HIDDEN",
      "linePosition": 25
    },
    {
      "id": "1612321835299",
      "libraryCode": "D",
      "regionCode": "A",
      "positionCode": "A20-4-25",
      "inventoryStatus": "FREE",
      "vin": null,
      "positionType": "4N",
      "paddingRegionCode": "A20-4",
      "positionShowFlag": "HIDDEN",
      "linePosition": 25
    }
  ]

Processing the above data can write these

// 方法定义
function resetDataFun(stuCount,col){
    if (stuCount.length > 0){
        var objList = new Object();
        var arr = new Array();
        // 看元数据可以切割多少组
        var cow = stuCount.length / col == 0 ? stuCount.length / col : Math.ceil((stuCount.length / col));
        console.log('行数',cow);
        for (var i = 1; i <= cow; i++) {
            var tempArr = [];
            var temp;
            // temp始终取 col * i 与 stuCount.length 中最小值
            temp = col * i > stuCount.length ? stuCount.length : col * i
            for (var j = col * (i - 1); j < temp; j++) {
                tempArr.push(stuCount[j]);
            }
            var newObj = new Object();
            newObj.data = tempArr
            arr.push(newObj);
      }
        objList.data = arr;
        this.resetData = objList;
        console.log(objList);
    }
}

// 方法调用
resetDataFun(stuCount,5)

The result display: 

The amount of data in each group can be dynamically set by passing parameters and controlled by itself 

Welcome to my website 

Guess you like

Origin blog.csdn.net/weixin_45849072/article/details/129987665