【问题标题】:Group an array with same value in actionscript在actionscript中对具有相同值的数组进行分组
【发布时间】:2013-03-12 04:04:52
【问题描述】:

我有一个数组:

var exArr:Array = [5,6,10,6,5,11,7,9,12,8,8,13,7,9,14];

我要排列:

var resultArr:Array = [5,6,7,8,9,10,11,12,13,14];

【问题讨论】:

    标签: arrays actionscript-3


    【解决方案1】:

    这对你来说可能会用完。

    var a:Array = [5,6,10,6,5,11,7,9,12,8,8,13,7,9,14];
    a.sort();
    var i:int = 0;
    while(i < a.length) {
        while(i < a.length+1 && a[i] == a[i+1]) {
            a.splice(i, 1);
        }
        i++;
    }
    

    对于其他人,see here

    【讨论】:

    • 这给出了结果10,11,12,13,14,5,6,7,8,9
    【解决方案2】:

    试试这个:

    var exArr:Array = [5,6,10,6,5,11,7,9,12,8,8,13,7,9,14];
    
    function group(subject:Array):Array
    {
        var base:Array = subject.slice().sort(Array.NUMERIC);
        var prev:Number = base[0];
    
        for(var i:int = 1; i < base.length; i++)
        {
            if(base[i] === prev)
            {
                base.splice(i, 1);
                i--;
            }
    
            prev = base[i];
        }
    
    
        return base;
    }
    
    
    
    trace( group(exArr) );
    

    【讨论】:

    • 这应该是一个可接受的答案 - 嵌套循环上的单循环
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2018-10-12
    • 2022-06-10
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    相关资源
    最近更新 更多