-1

我有以下 jason 对象数组,这个数组是使用信号器动态更新的,所以我必须在数组更新后对其进行排列:

var Con= [
    {
        "Name": "Killy",
        "Team": "1"

    }, {
        "Name": "jack",
        "Team": "2"
    },{
        "Name": "Noor",
        "Team": "1"

    },{
        "Name": "Ramez",
        "Team": "1"

    },{
        "Name": "wala",
        "Team": "2"

    }, {
        "Name": "Sozan",
        "Team": "3"
    }];

如何仅使用 JavaScript 按团队对名称进行排序?

4

1 回答 1

5

JavaScriptArray#sort接受一个函数,它将使用数组中的条目对重复调用该函数。0如果元素相等,<0如果第一个元素“小于”第二个元素,或者>0第一个元素“大于”第二个元素,则函数应该返回。所以:

Con.sort(function(a, b) {
    if (a.Team === b.Team) {
        return 0;
    }
    return a.Team < b.Team ? -1 : 1;
});

如果你喜欢这种事情,你可以在一行中做到这一点(如果我不这样做,我发现它更容易调试):

Con.sort(function(a, b) { return a.Team === b.Team ? 0 : a.Team < b.Team ? -1 : 1; });
于 2013-08-04T11:00:11.033 回答