ActionScript 3.0 - 获取数组中相同值的计数

时间:2017-09-28 09:13:53

标签: arrays actionscript-3 flash

在actionscript3中工作并遇到阵列问题。 我有一个包含数字的数组,[1,2,3,4,2,1,2,3,4]

如何计算一个值的数量,就像数组一样。 count function ["4"] //2

可以创建一个for循环,但就像一个更容易编码的函数。

for(var k:uint = 0; k < array.length; k++)
{
    if (array[k] =="4")
    {
        newarray.push(array[k]);
    }

}
trace(array.length);

感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

var list:Array = [1,2,3,4,2,1,2,3,4];
function findInArray(value:*, arr:Array):Array {
    var res:Array = [];
    for(var i:uint = 0; i < arr.length; i++)
        if(arr[i] === value) res.push(i);
    return res;
}
trace("all indices of 4 in array: ", findInArray(4, list));
trace("total 4s found: ", findInArray(4, list).length);

答案 1 :(得分:1)

var totalCount:uint = 0;
for(var k:uint = 0; k < array.length; k++)
{
    if (array[k] =="4")
    {
        totalCount++
    }

}
trace(totalCount);

答案 2 :(得分:1)

我知道它已经回答了,但仍然存在。如果只需要计数, for..each 循环会更快。

function countItems(value:*, list:Array):int
{
    var result:int;

    for each (var aValue:* in list)
        if (aValue == value)
            result++;

    return result;
}