Jquery.ajax を使用して呼び出したフィードを並べ替えようとしています。フィード内の配列の値の数で並べ替えようとしています。
たとえば、このフィードでは、NFL チームの数で降順に並べ替えたいので、カリフォルニア、ニュージャージー、マサチューセッツの順に並べ替えます。
[
{
"title":"New Jersey",
"NFLteams":[
{
"Name":"Jets",
"Conference":"AFC",
},
{
"Name":"Giants",
"Conference":"NFC",
}
]
},
{
"title":"Massachusetts",
"NFLteams":[
{
"Name":"Patriots",
"Conference":"AFC",
}
]
},
{
"title":"California",
"NFLteams":[
{
"Name":"Raiders",
"Conference":"AFC",
},
{
"Name":"49ers",
"Conference":"NFC",
},
{
"Name":"Chargers",
"Conference":"AFC",
}
]
}
]
私はこのようなコードを試しました (このスレッドJavaScript オブジェクトの配列の並べ替えから) が、動作しません (NFLteams.length にしても):
var sort_by = function(field, reverse, primer){
var key = function (x) {return primer ? primer(x[field]) : x[field]};
return function (a,b) {
var A = key(a), B = key(b);
return ( (A < B) ? -1 : ((A > B) ? 1 : 0) ) * [-1,1][+!!reverse];
}
}
data.sort(sort_by('NFLteams', false, function(a){return a.toUpperCase()}))
配列内の値の数でソートする方法について何か提案はありますか? 助けてくれたり、正しい方向に向けてくれる人に感謝します。