根據數組中的壹個或多個字段對數組中的元素進行排序。 數組應具有下列特性: 該數組是索引數組,不是關聯數組。
該數組的每個元素都包含壹個具有壹個或多個屬性的對象。
所有這些對象都至少有壹個公用屬性,該屬性的值可用於對該數組進行排序。 這樣的屬性稱為 field。如果您傳遞多個 fieldName 參數,則第壹個字段表示主排序字段,第二個字段表示下壹個排序字段,依此類推。 Flash 根據
Unicode 值排序。 (ASCII 是 Unicode 的壹個子集。) 如果所比較的兩個元素中均不包含 fieldName
參數中指定的字段,則認為將該字段設置為 undefined,在排序後的數組中將連續放置這些元素,不必遵循任何特定順序。默認情況下,Array。sortOn() 按以下方式進行排序:排序區分大小寫(Z 優先於 a)。
按升序排序(a 優先於 b)。
修改該數組以反映排序順序;在排序後的數組中不按任何特定順序連續放置具有相同排序字段的多個元素。
數值字段按字符串方式進行排序,因此 100 優先於 99,因為 "1" 的字符串值比 "9" 的低。Flash Player 7 添加了 options 參數,您可以使用該參數覆蓋默認排序行為。
若要對簡單數組(例如,僅具有壹個字段的數組)進行排序,或要指定壹種 options 參數不支持的排序順序,請使用
Array.sort()。若要傳遞多個標誌,請使用按位“或”(|) 運算符分隔它們: my_array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC);
Flash Player 8 添加了按多個字段進行排序時為每個字段指定不同的排序選項的功能。 在 Flash Player 8
和更高版本中,options 參數接受排序選項的數組,以便每個排序選項對應於 fieldName
參數中的壹個排序字段。 下例使用降序排序對主排序字段 a 排序,使用數字排序對第二個排序字段 b
排序,使用不區分大小寫的排序對第三個排序字段 c 排序: Array.sortOn (["a", "b", "c"], [Array.DESCENDING, Array.NUMERIC, Array.CASEINSENSITIVE]);
註意:fieldName 和 options 數組必須具有相同數量的元素;否則,將忽略
options 數組。 此外,Array.UNIQUESORT 和
Array.RETURNINDEXEDARRAY 選項只能用作數組中的第壹個元素;否則,將忽略它們。
使用這個方法,妳就可以利用對象的y坐標屬性值對對象進行排序,可以是升序也可以是降序,這就根據妳的具體需要去寫腳本了。
最後祝妳成功。