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

ActionScript 3.0 - get the count of the same value in an array

在 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);

感谢帮助!

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);
var totalCount:uint = 0;
for(var k:uint = 0; k < array.length; k++)
{
    if (array[k] =="4")
    {
        totalCount++
    }

}
trace(totalCount);

我知道已经有人回答了,但还是。如果您只需要计数,for..each 循环会更快。

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

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

    return result;
}