To spare some time on saving variables in a structured enviroment, i made this little TypeSorter class.
The static function TypeSorter.sort accepts any variable. It will save the variables and sort them acccording to their data types. TypeSorter.sort will return an structured object with arrays.
———–
USAGE:
var obj:Object = TypeSorter.sort( param1, param2, …params );
trace( obj.numbers ); //reads out the numbers array
trace( obj.strings ); //reads out the strings array
trace( obj.objects.movieclips ); //reads out the movieclips array
trace( obj.objects.sprites ); //reads out the sprites array
trace( obj.defaults ); //reads out the defaults array
SUPPORTED TYPES:
- Number
- String
- Object
- MovieClip
- Sprite
- Array
- Default ( for unsupported types )
———–
TypeSorter Class
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
| package
{
import flash.display.*;
public class TypeSorter
{
public static function sort( ... args ):Object
{
//Main Object:
var o_elements :Object = new Object();
//Type arrays:
//--> single lvl
var a_numbers :Array = new Array();
var a_strings :Array = new Array();
var a_booleans :Array = new Array();
var a_defaults :Array = new Array();
//--> multiple lvl
var o_objects :Object = new Object();
//--> object lvls
var a_objects :Array = new Array();
var a_movieclips :Array = new Array();
var a_sprites :Array = new Array();
var a_arrays :Array = new Array();
//--> structure
o_elements["numbers" ] = a_numbers ;
o_elements["strings" ] = a_strings ;
o_elements["defaults" ] = a_defaults ;
o_elements["booleans" ] = a_booleans ;
o_elements["objects" ] = o_objects ;
o_elements["objects" ]["objects" ] = a_objects ;
o_elements["objects" ]["movieclips"] = a_movieclips ;
o_elements["objects" ]["sprites" ] = a_sprites ;
o_elements["objects" ]["arrays" ] = a_arrays ;
//Loop through arguments and sort on datatype:
for ( var i:uint = 0; i < args.length ; i++ )
{
if ( args[i] is Number ) { a_numbers.push( args[i] ) }
else if ( args[i] is String ) { a_strings.push( args[i] ) }
else if ( args[i] is Boolean ) { a_booleans.push( args[i] ) }
else if ( args[i] is Object )
{
if ( args[i] is MovieClip ) { a_movieclips.push( args[i] ) }
else if( args[i] is Sprite ) { a_sprites.push ( args[i] ) }
else if( args[i] is Array ) { a_arrays.push ( args[i] ) }
else if( args[i] is Object ) { a_objects.push ( args[i] ) }
}
else { a_defaults.push( args[i] ) };
}
//Return the main object:
return o_elements;
}
}
} |