将json数据分组
在工作中有时需要根据业务需要,将大量数据进行处理分成几个一组
// 例如要将下方数据进行处理
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}]
将上方数据进行处理可以这些写
// 方法定义
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 * ifor (var j = col * (i - 1); j < temp; j++) {tempArr.push(stuCount[j]);}var newObj = new Object();newObj.data = tempArrarr.push(newObj);}objList.data = arr;this.resetData = objList;console.log(objList);}
}// 方法调用
resetDataFun(stuCount,5)
结果展示:
每组多少数据可以通过传参进行动态设定,自行进行控制
欢迎访问我的网站 踏浪而行生活圈