js根據(jù)json數(shù)據(jù)中的某一個屬性來給數(shù)據(jù)分組的方法
更新時間:2018年10月08日 15:30:04 作者:Firoly
今天小編就為大家分享一篇js根據(jù)json數(shù)據(jù)中的某一個屬性來給數(shù)據(jù)分組的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
如下所示:
<!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":"質(zhì)量管理","Leftimg":"","Left":"","Min":"","Right":"","Rightimg":""}, {"Group":1,"Groupheader":"","Leftimg":"","Left":"","Min":"質(zhì)量巡檢","Right":"","Rightimg":""}, {"Group":2,"Groupheader":"設(shè)備管理","Leftimg":"","Left":"","Min":"","Right":"","Rightimg":""}, {"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"設(shè)備專業(yè)點檢","Right":"","Rightimg":""}, {"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"設(shè)備日檢","Right":"","Rightimg":""}, {"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"設(shè)備周檢","Right":"","Rightimg":""}, {"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"設(shè)備月檢","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>
原始數(shù)據(jù):
[{"Group":1,"Groupheader":"質(zhì)量管理","Leftimg":"","Left":"","Min":"","Right":"","Rightimg":""}, {"Group":1,"Groupheader":"","Leftimg":"","Left":"","Min":"質(zhì)量巡檢","Right":"","Rightimg":""}, {"Group":2,"Groupheader":"設(shè)備管理","Leftimg":"","Left":"","Min":"","Right":"","Rightimg":""}, {"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"設(shè)備專業(yè)點檢","Right":"","Rightimg":""}, {"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"設(shè)備日檢","Right":"","Rightimg":""}, {"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"設(shè)備周檢","Right":"","Rightimg":""}, {"Group":2,"Groupheader":"","Leftimg":"","Left":"","Min":"設(shè)備月檢","Right":"","Rightimg":""}];
處理后的數(shù)據(jù):
[ { "Group": 1, "data": [ { "Group": 1, "Groupheader": "質(zhì)量管理", "Leftimg": "", "Left": "", "Min": "", "Right": "", "Rightimg": "" }, { "Group": 1, "Groupheader": "", "Leftimg": "", "Left": "", "Min": "質(zhì)量巡檢", "Right": "", "Rightimg": "" } ] }, { "Group": 2, "data": [ { "Group": 2, "Groupheader": "設(shè)備管理", "Leftimg": "", "Left": "", "Min": "", "Right": "", "Rightimg": "" }, { "Group": 2, "Groupheader": "", "Leftimg": "", "Left": "", "Min": "設(shè)備專業(yè)點檢", "Right": "", "Rightimg": "" }, { "Group": 2, "Groupheader": "", "Leftimg": "", "Left": "", "Min": "設(shè)備日檢", "Right": "", "Rightimg": "" }, { "Group": 2, "Groupheader": "", "Leftimg": "", "Left": "", "Min": "設(shè)備周檢", "Right": "", "Rightimg": "" }, { "Group": 2, "Groupheader": "", "Leftimg": "", "Left": "", "Min": "設(shè)備月檢", "Right": "", "Rightimg": "" } ] } ]
以上這篇js根據(jù)json數(shù)據(jù)中的某一個屬性來給數(shù)據(jù)分組的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
jQuery控制文本框只能輸入數(shù)字和字母及使用方法
這篇文章主要介紹了jQuery控制文本框只能輸入數(shù)字和字母及使用方法的相關(guān)資料,非常不錯而且實用性也很高,需要的朋友可以參考下2016-05-05easyui datagrid 大數(shù)據(jù)加載效率慢,優(yōu)化解決方法(推薦)
下面小編就為大家?guī)硪黄猠asyui datagrid 大數(shù)據(jù)加載效率慢,優(yōu)化解決方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11jQuery數(shù)據(jù)緩存功能的實現(xiàn)思路及簡單模擬
jQuery緩存系統(tǒng)不僅運用于DOM元素,動畫、事件等都有用到這個緩存系統(tǒng)2013-05-05Jquery給當前頁或者跳轉(zhuǎn)后頁面的導航欄添加選中后樣式的實例
下面小編就為大家?guī)硪黄狫query給當前頁或者跳轉(zhuǎn)后頁面的導航欄添加選中后樣式的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12