Summary of the code, using the JS data packets, the array of taking the maximum packet array;
var combineTemplate = the JSON.parse (data.combineTemplate); // instrument according to packet type ID var TEMP = {}, dest = []; for ( var I = 0; I <combineTemplate.length; I ++ ) { var ELE = combineTemplate [I]; IF {(TEMP [ele.typeId]!) // absent to give a new element is added dest.push ({ ID: ele.typeId, Data: [ELE] }); TEMP [ele.typeId] = ele } The else { // the presence of sub-elements give additional data for ( var J = 0; J <dest.length; J ++ ) { var dt = dest [J]; IF (dt.id == ele.typeId) { dt. data.push (ELE); BREAK ; } } } } // get the object data up to a var arrayMax = []; // maximum array for ( var I = 0; I <dest.length; I ++) { var element = dest[i]; if(arrayMax.length<element.data.length){ arrayMax=element.data; } }
Use Screenshot