静岡県の一戸建てのアイムホーム松尾工務店

静岡県の一戸建て・工務店の「アイムホーム松尾工務店」は親切丁寧な地域密着型の会社。ローコスト住宅で有名な「アイムホーム松尾工務店」へ!

奈良の注文住宅ならエーティーエム建築

奈良の注文住宅はSE構法である「重量木骨の家」。自然素材の断熱材セルロースファイバーの注文住宅(奈良)ならエーティエム建築へ!

滋賀県の工務店・住宅ならエールコーポレーション

滋賀県の工務店,住宅の「エールコーポレーション」は完全自由設計の一戸建てが自慢。一生に一度の大切な買い物は安心の滋賀県の工務店,住宅の「エールコーポレーション」へ!

千葉県(船橋市,習志野市,市川市,鎌ヶ谷市)の不動産ならアトムステーション東船橋支店

千葉県(船橋市,習志野市,市川市,鎌ヶ谷市)の不動産ならアトムステーション東船橋支店。地域に密着し、お客様の満足する住まい探しのご提供を続けています。一戸建て・新築・中古・マンション・土地などを多数取扱い中。

  

モンスターカレンダー

« 2006年5月 »
12345678910111213141516171819202122232425262728293031

Javascriptのソート

JavascriptのArrayオブジェクトに存在するsortメソッドのより詳しい使い方について、理解が足りていないので、メモ。

以下が単純な配列のソート

var nums = [ 5, 4, 2, 7, 1, 6, 3 ];
nums.sort();
alert(nums); //結果「1234567」

じゃぁオブジェクトの、あるプロパティ値を比較してソートするには?


var objs = [
{ "name" : 'beyonce', "age" : 24 },
{ "name" : 'aiko', "age" : 18 },
{ "name" : 'celine', "age" : 20 }
];

objs.sort(function(a,b){
return b.age - a.age;
});

for(var i = 0; i < objs.length; i++){
alert(objs[i].name);
}
// beyonce, celine, aikoの順に表示されます

sort()メソッドの引数に比較用の関数をつっこんであげます。
関数の結果が正の値であれば降順、不の値であれば昇順にオブジェクトがソートされます。

文字列でソートしたい場合は比較関数部分が変わって

objs.sort( function(a,b){
return (a.name > b.name) ? 1 : -1;
});
//aiko, beyonce, celineの順に表示されます

トラックバック(1)

トラックバックURL: http://blog.trapple.net/mt/mt-tb.cgi/24

コメントする