js将数组中一个或多个字段相同的子元素中合并

Posted 临飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js将数组中一个或多个字段相同的子元素中合并相关的知识,希望对你有一定的参考价值。

最近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);
        }

如有问题,请朋友提出来,谢谢!

以上是关于js将数组中一个或多个字段相同的子元素中合并的主要内容,如果未能解决你的问题,请参考以下文章

JS(TS)中数组常见的方法(未完待续)

HTML5 js如何获取所有相同ID或class的元素?

Js添加数组,删除数组元素,合并,遍历,与Object互转

Js添加数组,删除数组元素,合并,遍历,与Object互转

array_merge — 合并一个或多个数组

array_merge — 合并一个或多个数组