Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml Flash AS3 sorton()难度_Xml_Arrays_Actionscript 3_Flash_Sorting - Fatal编程技术网

Xml Flash AS3 sorton()难度

Xml Flash AS3 sorton()难度,xml,arrays,actionscript-3,flash,sorting,Xml,Arrays,Actionscript 3,Flash,Sorting,我正在为此而挣扎。我已经讨论了其他问题,就我所知,我正在做我应该做的事情。看起来应该很简单,但我还是挂断了。以下是我的XML: <?xml version="1.0" encoding="UTF-8"?> <objects> <player> <score Name="Josh" Company="AB" Email="josh@ab">200</score> </player> &l

我正在为此而挣扎。我已经讨论了其他问题,就我所知,我正在做我应该做的事情。看起来应该很简单,但我还是挂断了。以下是我的XML:

<?xml version="1.0" encoding="UTF-8"?>
<objects>
    <player>
        <score Name="Josh" Company="AB" Email="josh@ab">200</score>
    </player>
    <player>
        <score Name="Shain" Company="AC" Email="shain@AC.com">1800</score>
    </player>
    <player>
        <score Name="Jessica" Company="AD" Email="jessica@AD.com">20000</score>
    </player>

</objects>

再说一次,这看起来很简单,但我的头撞到了键盘上。非常感谢您的帮助。

我不擅长使用XML,但这似乎对我很有用。我只是把分数改成了分数。children()

var分数:XML=
200
1800
20000
;
var myArray:Array=newarray();
对于每个(变量项:scores.children()中的XML)
{
myArray.push(项目);
}
跟踪(“预排序”+myArray);
myArray.sortOn(“score”,Array.NUMERIC | Array.DESCENDING);
跟踪(“后期排序”+myArray);
Well用于根据属性字段对对象填充的数组进行排序,但是您使用XML节点填充数组,并且这些节点上没有直接命名为“score”的属性

您可以使用函数sort本身来获得所需的结果

var xml:XML=
<objects>
    <player>
        <score Name="Josh" Company="AB" Email="josh@ab">200</score>
    </player>
    <player>
        <score Name="Shain" Company="AC" Email="shain@AC.com">1800</score>
    </player>
    <player>
        <score Name="Jessica" Company="AD" Email="jessica@AD.com">20000</score>
    </player>
</objects>;

var myArray=[];
for each (var score:XML in xml..score) {
 myArray[myArray.length] = score;
}

myArray.sort(Array.NUMERIC | Array.DESCENDING);
trace("post-sort "+myArray);
var-xml:xml=
200
1800
20000
;
var myArray=[];
对于每个(变量分数:XML格式的XML..score){
myArray[myArray.length]=分数;
}
myArray.sort(Array.NUMERIC | Array.DESCENDING);
跟踪(“后期排序”+myArray);
下面是wonderfl的一个实时示例:

就是这样!我错过了“.children()”谢谢巴里斯!
var scores:XML = <objects>
        <player>
          <score Name="Josh" Company="AB" Email="josh@ab">200</score>
        </player>
        <player>
          <score Name="Shain" Company="AC" Email="shain@AC.com">1800</score>
        </player>
        <player>
          <score Name="Jessica" Company="AD" Email="jessica@AD.com">20000</score>
        </player>
        </objects>;

var myArray:Array = new Array();

for each (var item:XML in scores.children())
{
    myArray.push(item);
}
trace("pre-sort "+myArray);

myArray.sortOn("score", Array.NUMERIC | Array.DESCENDING);

trace("post-sort "+myArray);
var xml:XML=
<objects>
    <player>
        <score Name="Josh" Company="AB" Email="josh@ab">200</score>
    </player>
    <player>
        <score Name="Shain" Company="AC" Email="shain@AC.com">1800</score>
    </player>
    <player>
        <score Name="Jessica" Company="AD" Email="jessica@AD.com">20000</score>
    </player>
</objects>;

var myArray=[];
for each (var score:XML in xml..score) {
 myArray[myArray.length] = score;
}

myArray.sort(Array.NUMERIC | Array.DESCENDING);
trace("post-sort "+myArray);