我有一个jQuery JSON请求,在该JSON数据中,我希望能够按唯一值排序。所以我有

{
  "people": [{
        "pbid": "626",
        "birthDate": "1976-02-06",
        "name": 'name'
      }, {
        "pbid": "648",
        "birthDate": "1987-05-22",
        "name": 'name'
      }, .....

所以,到目前为止,我有这个
function(data) {
  $.each(data.people, function(i, person) {
    alert(person.birthDate);
  })
}

但是,我完全不知道如何有效地获取唯一的birthDate,并按年份(或按任何其他个人数据进行的排序)进行排序。

我正在尝试做到这一点,并对此有所提高(我希望这是可能的)。

谢谢

最佳答案

我不确定性能如何,但是基本上我正在使用对象作为键/值字典。我还没有测试过,但是应该在循环中进行排序。

function(data) {
    var birthDates = {};
    var param = "birthDate"
    $.each(data.people, function() {
        if (!birthDates[this[param]])
            birthDates[this[param]] = [];
        birthDates[this[param]].push(this);
    });

    for(var d in birthDates) {
        // add d to array here
        // or do something with d
        // birthDates[d] is the array of people
    }
}

09-20 07:10