AS3阵列sorton()问题

Ale*_*lex 1 actionscript-3

我正在尝试通过其"realY"属性的值对as3中的"tile"对象数组进行排序.这是我的代码:

    tiles.sortOn("realY", Array.DESCENDING);
    tiles.reverse();

    for each(var t:Tile in tiles)
    {
            trace(t.nearness);
    }
Run Code Online (Sandbox Code Playgroud)

这是输出:

    6
6
6
6
6
7
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
2
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
35
35
35
35
35
35
36
36
36
36
36
37
37
37
37
38
38
38
39
39
40
3
3
4
4
4
5
5
5
5
Run Code Online (Sandbox Code Playgroud)

如您所见,最后有一些随机的小数字.为什么会这样?谢谢

Ric*_*ook 6

尝试使用sortOn这样的:

tiles.sortOn("realY", Array.NUMERIC | Array.DESCENDING);
Run Code Online (Sandbox Code Playgroud)

默认情况下,Flash按字母顺序排序.查看文档以获取更多信息.

除此之外,您正在追踪nearness财产,而不是realY您分类的财产.所以也许这也是一个问题.