数组对象如何根据对象中某个字段分组


场景:做报表图形展示时,接口返回的数据通常为一组数据对象,需要根据code进行分组,将数据分类成几组,用图形描绘出来

措施:代码如下

返回数组对象包括name和data两个字段,data中包括原数组对象中所有字段。

function  groupByType(arr,param) {
            var map = {},
                dest = [];
            for(var i = 0; i < arr.length; i++){
                var ai = arr[i];
                if(ai[param] && !map[ai[param]]){
                    dest.push({ name: ai[param], data: [ai]
                    });
                    map[ai[param]] = ai;
                }else{
                    for(var j = 0; j < dest.length; j++){
                        var dj = dest[j];
                        if(dj.name == ai[param]){
                            dj.data.push(ai);
                            break;
                        }
                    }
                }
            }
            return dest;
        }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM