Javascript 按Json对象中的列名分组
我需要在下面的json中将ccSection的列名分组。我需要输出为Tab1,Tab2。请帮帮我。我是这个领域的新手Javascript 按Json对象中的列名分组,javascript,jquery,json,Javascript,Jquery,Json,我需要在下面的json中将ccSection的列名分组。我需要输出为Tab1,Tab2。请帮帮我。我是这个领域的新手 var temp=[ { "cfId": 3, "ccDisplayOrder": 1, "ccControlID": 1, "ccKey": "stName", "ccSection": "Tab1" }, { "cfId": 3, "ccDi
var temp=[
{
"cfId": 3,
"ccDisplayOrder": 1,
"ccControlID": 1,
"ccKey": "stName",
"ccSection": "Tab1"
},
{
"cfId": 3,
"ccDisplayOrder": 2,
"ccControlID": 2,
"ccKey": "stOwner",
"ccSection": "Tab1"
},
{
"cfId": 3,
"ccDisplayOrder": 3,
"ccControlID": 3,
"ccKey": "stBegin",
"ccSection": "Tab2"
},
{
"cfId": 3,
"ccDisplayOrder": 4,
"ccControlID": 4,
"ccKey": "stEnd",
"ccSection": "Tab2"
}
]
var temp=[..]//对象数组
var hash={}
对于(i=0;i你可以很容易地用下划线来表示
var groupedData = _.groupBy(data, function(d){return d.ccSection});
使用jquery
var groups = {};
var data=[
{
"cfId": 3,
"ccDisplayOrder": 1,
"ccControlID": 1,
"ccKey": "stName",
"ccSection": "Tab1"
},
{
"cfId": 3,
"ccDisplayOrder": 2,
"ccControlID": 2,
"ccKey": "stOwner",
"ccSection": "Tab1"
},
{
"cfId": 3,
"ccDisplayOrder": 3,
"ccControlID": 3,
"ccKey": "stBegin",
"ccSection": "Tab2"
},
{
"cfId": 3,
"ccDisplayOrder": 4,
"ccControlID": 4,
"ccKey": "stEnd",
"ccSection": "Tab2"
}
]
$.each(data, function(i, item) {
var level = item.ccSection;
delete item.ccSection;
if(groups[level]) {
groups[level].push(item);
} else {
groups[level] = [item];
}
});
console.log(groups);
你能举一个例子,说明你试图实现的输出格式,并添加你自己编写的代码来解决这个问题吗?谢谢你的回答。它可以找到。但是我只需要输出为Tab1和Tab2,而不是分组记录……这意味着什么?你可以说Tab1=hash.Tab1-Tab2=hash.Tab2?
var groups = {};
var data=[
{
"cfId": 3,
"ccDisplayOrder": 1,
"ccControlID": 1,
"ccKey": "stName",
"ccSection": "Tab1"
},
{
"cfId": 3,
"ccDisplayOrder": 2,
"ccControlID": 2,
"ccKey": "stOwner",
"ccSection": "Tab1"
},
{
"cfId": 3,
"ccDisplayOrder": 3,
"ccControlID": 3,
"ccKey": "stBegin",
"ccSection": "Tab2"
},
{
"cfId": 3,
"ccDisplayOrder": 4,
"ccControlID": 4,
"ccKey": "stEnd",
"ccSection": "Tab2"
}
]
$.each(data, function(i, item) {
var level = item.ccSection;
delete item.ccSection;
if(groups[level]) {
groups[level].push(item);
} else {
groups[level] = [item];
}
});
console.log(groups);