如何在不使用AS3中的反向方法的情况下反转数组?

时间:2013-02-16 01:34:36

标签: arrays actionscript-3 action reverse

如何在不使用reverse()方法的情况下反转数组?

public class Main extends Sprite
{
    private var _reversedList:Array = new Array();      

    public function Main()
    {   
        var yourShoppingList:Array = ["Milk","Bread","Eggs","Cereal","Cheese","Ham"];
        shoppingList(yourShoppingList);
        trace("The original array was " + yourShoppingList + " and now it is reversed as " + _reversedList + ".");
    }

    private function shoppingList(items:Array):Array {
        while(items.length){
            var lastItem:String = items.pop();
            _reversedList.unshift(lastItem);
        }
        return _reversedList;
    }
}

这是我到目前为止所拥有的。我尝试使用_reversedList.unshift(items.pop());,但它给了我一个错误,所以我最终创建了一个变量,现在看起来很好吗?但无论如何,它并没有扭转数组,我不知道为什么。

感谢您的时间和帮助。我真的很感激。

*注意:对于那些全帆学生,请随意参考,但不要复制/粘贴,因为老师知道这篇文章,你可能会因作弊而受到惩罚。只是一个友好的警告。

1 个答案:

答案 0 :(得分:2)

更改

_reversedList.unshift(lastItem);

_reversedList.push(lastItem);

适合我。取最后一项并将其作为新阵列上的第一项推入。