0

重複の可能性:
javascript オブジェクトの配列をソートする方法は?

私は配列を持っていますmyResponse.students[i]

いくつかのロジックを使用して配列内のすべての学生の合計点を計算しましたが、計算した合計点に基づいて配列を並べ替えたいと思います。JavaScriptを使用してこれを行う方法は?

4

3 に答える 3

3

あなたの学生があなたがソートしたい配列であると仮定します

myResponse.students.sort(byMark)

function byMark(a, b){
     return b.mark - a.mark; // sort score desc
}
于 2012-09-28T06:05:08.557 に答える
0

これを試して

myResponse.students.sort(function(a,b) { 
    return parseFloat(a.TotalMarks) - parseFloat(b.TotalMarks) ;
});

sort 関数のシグネチャはこちら

array.sort([compareFunction])

より良いアイデアを得るためにドキュメントを読んでくださいcompareFunction

リンク: array.sort MDN

于 2012-09-28T05:58:14.670 に答える
0

MDNを参照

コンパレーター関数をパラメーターとしてソート関数に渡すことができます。

この関数は、配列から比較する 2 つの値を受け取ります。次のように0or1を返すためのロジックを提供する必要があります。-1

var a = [...]; //your array
a.sort(compareFunction);

function compareFunction (a, b)
{
  if (a is less than b by some ordering criterion)
     return -1;
  if (a is greater than b by the ordering criterion)
     return 1;
  // a must be equal to b
  return 0;
}
于 2012-09-28T05:59:40.347 に答える