代码小结,使用 JS 对数据进行分组,对分组中的数组取最大数组;
var combineTemplate = JSON.parse(data.combineTemplate); //根据仪器种类ID分组 var temp = {}, dest = []; for (var i = 0; i < combineTemplate.length; i++) { var ele = combineTemplate[i]; if (!temp[ele.typeId]) {//不存在就添加新得元素 dest.push({ id: ele.typeId, data: [ele] }); temp[ele.typeId] = ele } else {//存在就给子元素追加数据 for (var j = 0; j < dest.length; j++) { var dt = dest[j]; if (dt.id == ele.typeId) { dt.data.push(ele); break; } } } } //获取对象中数据最多的一个 var arrayMax = [];//最大数组 for (var i = 0; i < dest.length; i++) { var element = dest[i]; if(arrayMax.length<element.data.length){ arrayMax=element.data; } }
使用过程截图