Arrays 排序数组中的数据并跟踪[object data]actionscript 3

Arrays 排序数组中的数据并跟踪[object data]actionscript 3,arrays,actionscript-3,sorting,Arrays,Actionscript 3,Sorting,我试图创建一个程序,用数组分散节点,我在数组中输入节点,起初程序运行正常,但当我想在贪婪数组中排序数据时[];使用greed.sort();数据还没有整理好,请帮帮我。还有一点,如果这些信息是movieclip或graphic,我如何在输出面板中看到标签?像这样: <pre><code> //first program trace("data"); //data --> can display label "data". //second p

我试图创建一个程序,用数组分散节点,我在数组中输入节点,起初程序运行正常,但当我想在贪婪数组中排序数据时[];使用greed.sort();数据还没有整理好,请帮帮我。还有一点,如果这些信息是movieclip或graphic,我如何在输出面板中看到标签?像这样:

<pre><code>
 //first program 
    trace("data");  //data --> can display label "data".

    //second program
    var dot:Dot = new Dot(); //graphic from library
    trace(dot);   //[object Dot]    --> Cant show label "dot" ??
所以,我的问题是: 1.如何将数组中的数据与对象数据进行排序? 2.如果数据是图形或movieclip,如何在输出面板中显示标签数据

这是我的完整代码:

var A:Node=new Node();
变量B:Node=newnode();
var C:Node=new Node();
变量D:Node=newnode();
变量E:Node=newnode();
变量F:Node=newnode();
var G:Node=new Node();
变量节点:数组=[];
var目标:数组=[E,G];
var finalCheck:Array=[];
A.x=55;B.x=165;C.x=275;D.x=55;E.x=385;F.x=165;G.x=385;
A.y=165;B.y=55;C.y=165;D.y=275;E.y=55;F.y=275;G.y=275;
节点推送(A,B,A,C,A,D,
B、 E,B,C,C,B,C,E,C,G,C,F,D,F,
C、 E,C,G,C,F,B,A,B,E,F,G,F,D,F,C,F,G,
F、 G,F,D,D,A,C,A,C,B,C,E,C,G,
D、 A、B、A、B、E);

对于(var d:int=0;d您的代码很难阅读,先生。似乎属于某种类型的游戏。为什么要过度复杂排序?如果您真的需要一个节点系统,我建议您使用一个流行的框架。它的社区支持并优化到位

var A:Node = new Node();
var B:Node = new Node();
var C:Node = new Node();
var D:Node = new Node();
var E:Node = new Node();
var F:Node = new Node();
var G:Node = new Node();

var node:Array = [];
var goal:Array = [E,G];
var finalCheck:Array = [];

A.x = 55; B.x = 165; C.x = 275; D.x = 55; E.x = 385; F.x = 165; G.x = 385;
A.y = 165; B.y = 55; C.y = 165; D.y = 275; E.y = 55; F.y = 275; G.y = 275;

node.push(A,B,  A,C,  A,D,  
      B,E,  B,C,  C,B,  C,E,  C,G,  C,F,  D,F,  
      C,E,  C,G,  C,F,  B,A,  B,E,  F,G,  F,D,  F,C,  F,G,  
      F,G,  F,D,  D,A,  C,A,  C,B,  C,E,  C,G,  
      D,A,  B,A,  B,E);

for (var d:int = 0; d<node.length; d++){
addChild(node[d]);
}
trace(node.length);

function sortIndex(){
var greedArr = [];
for (var i:int = 0; i<node.length; i++)
{
    if ((i%2 == 0 && node[i] != goal[1] && node[(i+1)] == goal[0]) || 
        (i%2 == 0 && node[i] != goal[0] && node[(i+1)] == goal[1]) ||
        (i%2 != 0 && node[i] != goal[1] && node[(i+1)] == goal[0]) ||
        (i%2 != 0 && node[i] != goal[0] && node[(i+1)] == goal[1])) 
        greedArr.push(node[(i)]);
}
greedArr.sort();
trace("greedArr : "+greedArr+" // "+greedArr.length); //B,B,B,C,C,C,C,C,C,F,F,F
var checker:Array = [];
var Z:int;
for (var k:int = 0; k<greedArr.length/3; k++){
    Z = k*3;
    checker.push(greedArr[Z]);
}
trace("checker : "+checker+" // "+checker.length);   //B,C,C,F
for (var M:int = 0; M<checker.length; M++){
    if (checker[M] != checker[M-1] && checker[M] != checker[M+1]){
        finalCheck.push(checker[M]);
    }
    if (checker[M] == checker[M-1] && checker[M] != checker[M+1]){
        finalCheck.unshift(checker[M]);
    }
    if (checker[M] != checker[M-1] && checker[M] == checker[M+1]){
        finalCheck.unshift(checker[M]);
    }
}
trace("finalCheck : "+finalCheck+" // "+finalCheck.length); //C,C,B,F
for (var e:int = 0; e<finalCheck.length; e++){
    trace((finalCheck[e]).x)
}
}

sortIndex();