Javascript 按Json对象中的列名分组

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

我需要在下面的json中将ccSection的列名分组。我需要输出为Tab1,Tab2。请帮帮我。我是这个领域的新手

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);