最近js中遇到js将数组中一个或多个字段相同的子元素中合并,相信很多朋友也有遇到,大家可能有多种方法,我在这里记录一个相对简单的方法,当然大家如有其它更好的方法,请提出来大家共同学习。
//将经济事项设置号相同的分为一组,economicIssuesNo:经济事项设置号;economicIssuesName:经济事项名称 function jsonUntil(arr){ var map = {}, dest = []; for(var i = 0; i < arr.length; i++){ var ai = arr[i]; if(!map[ai.economicIssuesNo]){ dest.push({ economicIssuesNo: ai.economicIssuesNo, economicIssuesName:ai.economicIssuesName, data: [ai] }); map[ai.economicIssuesNo] = ai; }else{ for(var j = 0; j < dest.length; j++){ var dj = dest[j]; if(dj.economicIssuesNo == ai.economicIssuesNo){ dj.data.push(ai); break; } } } } return JSON.stringify(dest); }
如有问题,请朋友提出来,谢谢!