Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AS3 - Sorting an array of nested arrays

How would I go about sorting an array of nested arrays, based on the contents of one of the nested arrays elements?

var nestedArray1:Array = new Array(0,0,1);
var nestedArray2:Array = new Array(0,0,9);
var nestedArray3:Array = new Array(0,0,7);
var nestedArray4:Array = new Array(0,0,3);

var parentArray:Array = new Array(nestedArray1,nestedArray2,nestedArray3,nestedArray4);

I would like to end up with an array sorted using the nested arrays 3rd element.

So tracing sortedParentArray would give me: 0,0,1,0,0,3,0,0,7,0,0,9

which is nestedArray1, nestedArray4, nestedArray3, nestedArray2

Thanks,

Mark

like image 502
crooksy88 Avatar asked Dec 09 '22 04:12

crooksy88


1 Answers

Since you can access an array index in the same way as a property (array[2] is the same as array["2"]) you can use sortOn.

parentArray.sortOn("2", Array.NUMERIC);

You can also use the other indices as second or third sort fields if don't want an unpredictable order for equal entries.

parentArray.sortOn(["2","1","0"], Array.NUMERIC);
like image 164
kapex Avatar answered Dec 26 '22 11:12

kapex