Why it doesn't work?

作業のメモ、記録をブログに残しています。

JavaScript 配列をソートする

配列をソートさせます。

var exam = [
   {name:"tanahashi",score:89},
   {name:"okada",score:95},
   {name:"naitou",score:96},
   {name:"kenny",score:85},
   {name:"evil",score:90},
   {name:"yoshihashi",score:50}
]
exam.sort(function(a,b){
  return a.score - b.score;
});
console.log(exam)

結果は以下の通りです。scoreをキーとして昇順にソートされます。

[
{name: "yoshihashi", score: 50}
{name: "kenny", score: 85}
{name: "tanahashi", score: 89}
{name: "evil", score: 90}
{name: "okada", score: 95}
{name: "naitou", score: 96}
]

降順でソートさせる場合には、比較関数の判定を逆にします。

exam.sort(function(a,b){
  return b.score - a.score;
});

結果は以下の通りとなります。

[
{name: "naitou", score: 96}
{name: "okada", score: 95}
{name: "evil", score: 90}
{name: "tanahashi", score: 89}
{name: "kenny", score: 85}
{name: "yoshihashi", score: 50}
]