JavaScript 配列のsort

配列のソート方法を忘れないようメモしておきます。

配列のソート

昇順ソート

var a = [5,3,9,1,10]
a.sort(function(a,b){
        if( a < b ) return -1;
        if( a > b ) return 1;
        return 0;
});
結果:1,3,5,9,10

降順ソート

var a = [5,3,9,1,10]
a.sort(function(a,b){
        if( a > b ) return -1;
        if( a < b ) return 1;
        return 0;
});
結果:10,9,5,3,1

連想配列のキーでソート

昇順

var fruits = [
   {name:"apple",price:100},
   {name:"orange",price:98},
   {name:"banana",price:50},
   {name:"melon",price:500},
   {name:"mango",price:398}
]

fruits.sort(function(a,b){
    if(a.price<b.price) return -1;
    if(a.price > b.price) return 1;
    return 0;
});

結果
[ { name: 'banana', price: 50 },
  { name: 'orange', price: 98 },
  { name: 'apple', price: 100 },
  { name: 'mango', price: 398 },
  { name: 'melon', price: 500 } ]

降順

fruits.sort(function(a,b){
    if(a.price>b.price) return -1;
    if(a.price < b.price) return 1;
    return 0;
});

結果
[ { name: 'melon', price: 500 },
  { name: 'mango', price: 398 },
  { name: 'apple', price: 100 },
  { name: 'orange', price: 98 },
  { name: 'banana', price: 50 } ]