如何在jquery中从json获取不同的值
我有一个jquery json请求,在json数据中我希望能够按唯一值排序。 所以我有
{ “人”:[{ “pbid”: “626”, “生日”: “1976年2月6日”, “名”: '姓名'},{ “pbid”: “648”, “生日”:” 1987年5月22" 日, “名”: '姓名'},.....
所以,到目前为止,我有这个
function(数据){ $ .each(data.people,function(i,person){ 警报(person.birthDate); }
但是,我完全失去了如何有效地获得唯一的birthDates,并按年份(或任何其他个人数据)进行排序。
我正在努力做到这一点,并且有效率(我希望这是可能的)。
谢谢
我不确定这将是多么高效,但基本上我使用一个对象作为键/值字典。 我没有测试过这个,但是应该在循环中进行排序。
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 } }
function(data){ var arr = new Array(); $.each(data.people, function(i, person){ if (jQuery.inArray(person.birthDate, arr) === -1) { alert(person.birthDate); arr.push(person.birthDate); } }); }
这是我的看法:
function getUniqueBirthdays(data){ var birthdays = []; $.each(data.people, function(){ if ($.inArray(this.birthDate,birthdays) === -1) { birthdays.push(this.birthDate); } }); return birthdays.sort(); }