當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
js对象数组(JSON) 根据某个共同字段分组
生活随笔
收集整理的這篇文章主要介紹了
js对象数组(JSON) 根据某个共同字段分组
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
希望的是將下面的對象數組:
[{"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"} ]根據相同id字段分組,轉換成下面這種形式:
[{"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" }]} ]做法
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);轉載地址
總結
以上是生活随笔為你收集整理的js对象数组(JSON) 根据某个共同字段分组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 父级和子级div的点击事件相互影响
- 下一篇: React 向children中传值,l