Skip to content

Instantly share code, notes, and snippets.

@mbolt35
Created November 1, 2012 02:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mbolt35/3991295 to your computer and use it in GitHub Desktop.
Save mbolt35/3991295 to your computer and use it in GitHub Desktop.
package {
public class MyObject {
public var alpha:String = "";
public var val:int = 0;
public function MyObject(alpha:String, val:int) {
this.alpha = alpha;
this.val = val;
}
public function toString():String {
return "[alpha: " + this.alpha + ", val: " + this.val + "]";
}
}
}
// test array of objects
var arr:Array = [
new MyObject("A", 10),
new MyObject("Z", 2),
new MyObject("D", 16),
new MyObject("D", 37),
new MyObject("D", 5),
new MyObject("t", 3000),
new MyObject("R", 732)
];
/* Sorting on a single integer field */
/*
[alpha: Z, val: 2],
[alpha: D, val: 5],
[alpha: A, val: 10],
[alpha: D, val: 16],
[alpha: D, val: 37],
[alpha: R, val: 732],
[alpha: t, val: 3000]
*/
arr.sortOn("val", Array.NUMERIC);
/* Sorting on single string field */
/*
[alpha: A, val: 10],
[alpha: D, val: 5],
[alpha: D, val: 16],
[alpha: D, val: 37],
[alpha: R, val: 732],
[alpha: Z, val: 2],
[alpha: t, val: 3000]
*/
arr.sortOn("alpha");
/* Sorting on two fields, using different options for each field */
/*
[alpha: A, val: 10],
[alpha: D, val: 5],
[alpha: D, val: 16],
[alpha: D, val: 37],
[alpha: R, val: 732],
[alpha: t, val: 3000],
[alpha: Z, val: 2]
*/
arr.sortOn([ "alpha", "val" ], [ Array.CASEINSENSITIVE, Array.NUMERIC ]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment