微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

flash – Vector map()如何在actionscript 3中运行?

我无法使用Vector类使map()函数完全正常工作.

结果总是返回null – 它应该返回一个带有addFive函数返回值的新向量(这个例子显然不是我真正的用例).

阵列版本按预期工作.

有没有人有幸得到map()与Vector合作?

public function test_vector_map():void {
        var v1:Vector.<uint> = new <uint>[1,2,3];
        trace(v1); // traces 1,3

        var v2:Vector.<uint> = v1.map(addFive);
        trace(v2); // traces null
    }             

    protected function addFive(item:uint,index:int,vector:Vector.<uint>):uint
    {
        return item+5;
    } 

    public function test_array_map():void {
        var v1:Array = [1,3
        var v2:Array = v1.map(addSix);
        trace(v2); // traces 7,8,9
    }             

    protected function addSix(item:uint,array:Array):uint
    {
        return item+6;
    }

解决方法

这是一个actionscript / flash播放器错误.似乎adobe已在内部修复它,但从Flash Player 10.1开始,该修复程序尚未发布.

看到:
https://bugzilla.mozilla.org/show_bug.cgi?id=513095

这是我们在这里发现的bug的根本原因:

https://bugzilla.mozilla.org/show_bug.cgi?id=507501

你现在可以做的最好的事情就是在需要Map时坚持使用Arrays

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐