js根据json数据中的某一个属性来给数据分组
2017-01-10 15:28
295 查看
<!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": [
{
a6ae
"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": ""
}
]
}
]
相关文章推荐
- js根据json数据中的某一个属性来给数据分组的方法
- 初探原生js根据json数据动态创建table
- js 正则,根据css id名class名取得一个属性代码;
- 在Java导出数据创建excel表时候出现json对话框或者出现一个带有js代码的东西
- js+jquery根据json数据生成表格 及 表格和按钮CSS代码
- List集合中的数据按照某一个属性进行分组
- 初探原生js根据json数据动态创建table
- js如何检测一个属性是否在json对象里
- 根据json里的某个key对json数据进行分组
- 关于数据序列化(5),定制FastJSON序列化(解决Java大Long类型js的Number接收丢失数据的问题,不序列化某些属性)
- 后台返回一个string类型的json格式数据,前台js如何读取?
- js里遍历json数据的一个实例
- JS获取一个表单字段中多条数据并转化为json格式
- 分享一个免费的离线JS版本的JSON数据树形查看器
- 根据一个表中的字段属性名称作为查询条件来批量修改该表中数据
- JS解析Json 数据并跳转到一个新页面,取消A 标签跳转
- 用jq将html元素根据属性中的数据分组
- 1.js动态的往json数据添加新属性和值 2.JSON 和 JS 对象互转 3.对象转化为数组
- js对象数组(JSON) 根据某个共同字段 分组
- 基于JavaScript实现Json数据根据某个字段(json中的某个属性)进行排序