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

在ActionScript(3.0)中干净地合并两个数组?

如何解决《在ActionScript(3.0)中干净地合并两个数组?》经验,为你挑选了1个好方法。

在ActionScript(特别是ActionScript 3.0)中合并两个排序数组的好方法是什么?生成的数组应该排序,没有重复.



1> hasseg..:

要合并(连接)数组,请使用.concat().

下面是两个如何连接数组并同时删除重复项的示例.

更方便的方法:(你可以使用ArrayUtil.createUniqueCopy()来自的as3corelib)

// from as3corelib:
import com.adobe.utils.ArrayUtil;

var a1:Array = ["a", "b", "c"];
var a2:Array = ["c", "b", "x", "y"];

var c:Array = ArrayUtil.createUniqueCopy(a1.concat(a2)); // result: ["a", "b", "c", "x", "y"]

稍微快一点的方法:(你可以自己遍历数组并Array.indexOf()用来检查重复项)

var a1:Array = ["a", "b", "c"];
var a2:Array = ["c", "b", "x", "y"];
var a3:Array = ["a", "x", "x", "y", "z"];

var c:Array = arrConcatUnique(a1, a2, a3); // result: ["a", "b", "c", "x", "y", "z"]

private function arrConcatUnique(...args):Array
{
    var retArr:Array = new Array();
    for each (var arg:* in args)
    {
        if (arg is Array)
        {
            for each (var value:* in arg)
            {
                if (retArr.indexOf(value) == -1)
                    retArr.push(value);
            }
        }
    }
    return retArr;
}

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