在阵列AS3寻找共同的价值观 [英] AS3 Finding common values in Arrays

查看:168
本文介绍了在阵列AS3寻找共同的价值观的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我挣扎的东西,应该不会太困难,但我不出来我有一些阵列具有不同的价值观,我想找到的共同价值观所有的数组都有,看下面的例子

I'm struggling with something that shouldn't be too difficult but I can't figure it out I have a number of Arrays with different values and I want to find the common values all of the Arrays have, see example below:

        var arrayOne:Array      = ["1","2","3"];
        var arrayTwo:Array      = ["1","2","7"];
        var arrayThree:Array    = ["1","2","9","12"];

        _resultArray = ["1","2"];

任何帮助是AP preciated。

Any help is appreciated.

推荐答案

您可以这样做:

///Returns common values between to arrays
function getCommonValues(array1:Array, array2:Array):Array
{
    var len1:int = array1.length;
    var len2:int = array2.length;
    var toReturn:Array = new Array();

    for(var i:int = 0; i < len1; i++){
        for(var n:int = 0; n < len2; n++){
            if(array1[i] == array2[n]){
                toReturn.push(array1[i]);
            }
        }
    }
    return toReturn;
}

然后做这样的事情:

Then do something like:

var arrayOneAndTwo:Array = getCommonValues(arrayOne,arrayTwo);
var _resultArray:Array = getCommonValues(arrayOneAndTwo,arrayThree);

另外,你可以修改的功能包括在比较三个阵列,这将是更有效的。

Optionally you can modify the function to include all three arrays in the comparison, which would be more efficient.

修改

如果你想处理一个未知量的数组,你可以添加:

If you want to process an unknown amount of arrays you can add:

///Returns common values between X number of sub arrays
function getCommonValuesFromSubArrays(papaArray:Array):Array
{
    if(papaArray.length < 2){ return papaArray; }

    var toReturn:Array = papaArray[0];

    for(var a:int = 1; a < papaArray.length; a++){
        toReturn = getCommonValues(toReturn, papaArray[a]);
    }

    return toReturn;
}

然后是这样的:

Then something like:

var arr1:Array = ["one","two","three","four","five"];
var arr2:Array = ["one","two","five","six"];
var arr3:Array = ["one","two","three","four","five"];
var arr4:Array = ["one","two","three","four","five"];

var bigOlArray:Array = [arr1,arr2,arr3,arr4];

var _results:Array = getCommonValuesFromSubArrays(bigOlArray);

这篇关于在阵列AS3寻找共同的价值观的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆