Sort Array with Objects

Sort array by properties ID. Array have only VideoDTO objects.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var data_arr:Array = [];
var k:int = 0;
while ( k < 20) {
    data_arr[k] = new VideoDTO(String(Math.random()*5),Math.random()*10+5,"img","title");
    trace(data_arr[k]);
    k++;
}
data_arr.sortOn("ID", [Array.NUMERIC]);

trace("===============");

k = 0;
while ( k < 20) {
    trace(data_arr[k]);
    k++;
}

VideoDTO 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package {
   
   
    public final class VideoDTO {
       
        private var _id:String;
        private var _engine:int;
        private var _imageURL:String;
        private var _title:String;
        private var _duration:int;
        private var _views:int;
        private var _rating:Number;
       
       
        /*------------------------------------
            Constructor
        ------------------------------------*/

        public function VideoDTO($id_:String, $engine_:int, $imageURL_:String, $title_:String = "", $duration_:int = -1, $views_:int = -1, $rating_:Number = -1):void {
            _id = $id_;
            _engine = $engine_;
            _imageURL = $imageURL_;
            _title = $title_;
            _duration = $duration_;
            _views = $views_;
            _rating = $rating_;
        }
        /*------------------------------------
            Public methods
        ------------------------------------*/

       
        public function duplicate():VideoDTO {
            return new VideoDTO(_id, _engine, _imageURL, _title, _duration, _views, _rating);
        }
       
        public function get ID():String {
            return _id;
        }
       
        public function get engine():int {
            return _engine;
        }
       
        public function get imageURL():String {
            return _imageURL;
        }
       
        public function get title():String {
            return _title;
        }
       
        public function get duration():int {
            return _duration;
        }
       
        public function get views():int {
            return _views;
        }
       
        public function get rating():Number {
            return _rating;
        }
       
        public function toString():String {
            return "[ VideoDTO id='" + _id + "' title='" + _title + "' engine='" + _engine + "' imageURL='" + _imageURL + "' duration='" + _duration + "' views='" + _views + "' ]";
        }
       
        public function dtoDestroy():void {
            trace("destroy VideoDTO = " + _title);
            _id = null;
            _engine = 0;
            _imageURL = null;
            _title = null;
            _duration = 0;
            _views = 0;
            _rating = 0;
        }
       
    }
}
Creative Commons License
This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution 2.5 Bulgaria License.

Comments are closed.