本文實例講述了js實現json數組分組合并操作。分享給大家供大家參考,具體如下:
<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({ id: ai.id, name: ai.name, data: [ai] }); map[ai.id] = ai; }else{ for(var j = 0; j < dest.length; j++){ var dj = dest[j]; if(dj.id == ai.id){ dj.data.push(ai); break; } } } } console.log(dest); /* //運行結果: [ { "id": "1001", "name": "值1", "data": [ {"id": "1001", "name": "值1", "value": "111"}, { "id": "1001", "name": "值1", "value": "11111"} ] }, { "id": "1002", "name": "值2", "data": [ { "id": "1002", "name": "值2", "value": "25462" }, { "id": "1002", "name": "值2", "value": "23131"}, {"id": "1002", "name": "值2","value": "2315432" } ] }, { "id": "1003", "name": "值3", "data": [ {"id": "1003", "name": "值3", "value": "333333" } ] } ] */ </script>
使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼,可得如下運行結果:
PS:關于json操作,這里再為大家推薦幾款比較實用的json在線工具供大家參考使用:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉換工具:
http://tools.jb51.net/code/jsoncodeformat
在線json壓縮/轉義工具:
http://tools.jb51.net/code/json_yasuo_trans
更多關于JavaScript相關內容可查看本站專題:《JavaScript中json操作技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。