js json数组根据相同key值进行分类
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
总结了下看到的方法
开始是这样
var arr = [
{"id":"1","name":"值1","value":"111"},
{"id":"1","name":"值1","value":"11111"},
{"id":"2","name":"值2","value":"25462"},
{"id":"2","name":"值2","value":"23131"},
{"id":"2","name":"值2","value":"2315432"},
{"id":"3","name":"值3","value":"333333"}
]
根据相同id字段分组,转换成下面这种形式:
[
{
"id": "1",
"name": "值1",
"data": [
{"id": "1", "name": "值1", "value": "111"},
{ "id": "1", "name": "值1", "value": "11111"}
]
},
{
"id": "2",
"name": "值2",
"data": [
{ "id": "2", "name": "值2", "value": "25462" },
{ "id": "2", "name": "值2", "value": "23131"},
]
},
{
"id": "3",
"name": "值3",
"data": [
{"id": "3", "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);
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
4 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献1条内容
所有评论(0)