当前位置:  开发笔记 > 编程语言 > 正文

如何在ActionScript 3中创建数组的浅表副本

如何解决《如何在ActionScript3中创建数组的浅表副本》经验,为你挑选了2个好方法。



1> rzetterberg..:

摘自As3参考指南:

Array类没有用于制作数组副本的内置方法.您可以通过调用不带参数的concat()或slice()方法来创建数组的浅表副本.在浅层副本中,如果原始数组具有作为对象的元素,则仅复制对象的引用而不是对象本身.副本指向与原始对象相同的对象.对对象所做的任何更改都会反映在两个数组中.

如果你在concat和slice之间做出选择,Concat将是你要走的路,因为concat在性能方面更快.

在此处阅读有关此主题的更多信息:http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7ee7.html

澄清:

    private function shallowCopy():void{
        var a:Array = ["h", "e", "l", "l", "o"];
        var b:Array = a.concat(); 

        trace("Shallow copy:");
        trace("Before delete: " + a);
        trace("Before delete: " + b);
        delete a[0];
        trace("After delete: " + a);
        trace("After delete: " + b);            
    }



2> Adam Smith..:

有问题的一行:

var b:Array = a.concat();

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有