js根据json数据中的某一个属性来给数据分组

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<span id ="span" style="width: 50px;height: 200px;"></span>
	</body>
	<script>
	var arr = [{"Group":1,"Groupheader":"质量管理","Leftimg":"","Left":"","Min":"","Right":"","Rightimg":""},
{"Group":1,"Groupheader":"","Leftimg":"","Left":"","Min":"质量巡检","Right":"","Rightimg":""},
{"Group":2,"Groupheader":"设备管理","Leftimg":"","Left":"","Min":"","Right":"","Rightimg":""},
{"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"设备专业点检","Right":"","Rightimg":""},
{"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"设备日检","Right":"","Rightimg":""},
{"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"设备周检","Right":"","Rightimg":""},
{"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"设备月检","Right":"","Rightimg":""}];

var map = {},
    dest = [];
for(var i = 0; i < arr.length; i++){
    var ai = arr[i];
    if(!map[ai.Group]){
        dest.push({
            Group: ai.Group,
      
            data: [ai]
        });
        map[ai.Group] = ai;
    }else{
        for(var j = 0; j < dest.length; j++){
            var dj = dest[j];
            if(dj.Group == ai.Group){
                dj.data.push(ai);
                break;
            }
        }
    }
}
console.log(JSON.stringify(dest));
	var sapn = document.getElementById("span");
	span.innerHTML = JSON.stringify(dest);
	</script>
</html>


原始数据:

[{"Group":1,"Groupheader":"质量管理","Leftimg":"","Left":"","Min":"","Right":"","Rightimg":""},
{"Group":1,"Groupheader":"","Leftimg":"","Left":"","Min":"质量巡检","Right":"","Rightimg":""},
{"Group":2,"Groupheader":"设备管理","Leftimg":"","Left":"","Min":"","Right":"","Rightimg":""},
{"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"设备专业点检","Right":"","Rightimg":""},
{"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"设备日检","Right":"","Rightimg":""},
{"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"设备周检","Right":"","Rightimg":""},
{"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"设备月检","Right":"","Rightimg":""}];

处理后的数据:

[
    {
        "Group": 1,
        "data": [
            {
                "Group": 1,
                "Groupheader": "质量管理",
                "Leftimg": "",
                "Left": "",
                "Min": "",
                "Right": "",
                "Rightimg": ""
            },
            {
                "Group": 1,
                "Groupheader": "",
                "Leftimg": "",
                "Left": "",
                "Min": "质量巡检",
                "Right": "",
                "Rightimg": ""
            }
        ]
    },
    {
        "Group": 2,
        "data": [
            {
                "Group": 2,
                "Groupheader": "设备管理",
                "Leftimg": "",
                "Left": "",
                "Min": "",
                "Right": "",
                "Rightimg": ""
            },
            {
                "Group": 2,
                "Groupheader": "",
                "Leftimg": "",
                "Left": "",
                "Min": "设备专业点检",
                "Right": "",
                "Rightimg": ""
            },
            {
                "Group": 2,
                "Groupheader": "",
                "Leftimg": "",
                "Left": "",
                "Min": "设备日检",
                "Right": "",
                "Rightimg": ""
            },
            {
                "Group": 2,
                "Groupheader": "",
                "Leftimg": "",
                "Left": "",
                "Min": "设备周检",
                "Right": "",
                "Rightimg": ""
            },
            {
                "Group": 2,
                "Groupheader": "",
                "Leftimg": "",
                "Left": "",
                "Min": "设备月检",
                "Right": "",
                "Rightimg": ""
            }
        ]
    }
]
















评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值