对javascript对象数组的某个字段进行分组显示

 <script>
           var arr = [
                { "id": "1001", "name": "值1", "value": "111" },
                { "id": "1001", "name": "值1", "value": "11111" },
                { "id": "1002", "name": "值2", "value": "25462" },
                { "id": "1002", "name": "值2", "value": "23131" },
                { "id": "1002", "name": "值2", "value": "2315432" },
                { "id": "1003", "name": "值3", "value": "333333" }
            ];

            var map = {},
                dest = [];
            for (var i = 0; i < arr.length; i++) {
                var ai = arr[i];
                if (!map[ai.id]) {
                    dest.push({
                        grouptype: ai.id,
                        arrdata: [ai]
                    });
                 
                    map[ai.id] = ai;
                   
                } else {
                    for (var j = 0; j < dest.length; j++) {
                        var dj = dest[j];
                        if (dj.grouptype == ai.id) {
                            dj.arrdata.push(ai);
                            break;
                        }
                    }
                }
            }

            console.log(dest);
    </script>

 

posted @ 2018-05-03 23:11  Z.ain  阅读(225)  评论(0编辑  收藏  举报