2016-05-21 4 views

答えて

2

Array.sortOn()を使用して、あなたが最初の(nはこのケースでは)したいフィールドの並び替えは、それをアクセスして印刷:

var arrayToSort:Array = [{label:"2008",n:8560,i:15909},{label:"2009",n:8146,i:14197}]; 
var sortedArray = arrayToSort.sortOn ("n" , Array.NUMERIC); 
trace(sortedArray[0].label); 
+0

私はこれを試してみましたが、それは正しく動作しません。トレースには2008が表示されますが、2008のn値は2009より大きいです。 – elektroluse

+0

最初の要素にアクセスする場合は、更新され、数値で配列されます(昇順)。 Array.DESCENDINGは間違っていません。ちょうど0の代わりに最後の要素[配列の長さ-1]を選択してください –

+0

これは完璧に動作しますが、私は理解できないことが1つあります。なぜnは内部の文字列ソートオン? – elektroluse

0
public function findMax(o:Object):String { 
    var lowest:Number = Number.MAX_VALUE; 
    var lowestLabel:String; 
    for (var label:String in o) { 
     var val:Number = o[label]; 
     if (val != null && val < lowest) { 
      lowest = val; 
      lowestLabel = label; 
     } 
    } 
    return lowestLabel; 
} 
関連する問題