比较后找出阵列长度

时间:2013-06-30 09:21:33

标签: javascript performance

我有两个数组:

var A = [1,2,3,4,5]
var B = [1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,455,,5,,5,,5,,5,,5,,5,,5,]

我想比较数组A到B并返回匹配内容的长度。在JavaScript中执行此操作的最快,最有效的方法是什么?

Like Length of 
1 = 5,
Length of 2s=5
Etc...

2 个答案:

答案 0 :(得分:0)

我已为此编写代码。我在这里向你发送它的小提琴。

var A = [1,2,3,4,5]
var B = [1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,,5,,5,,5,,5,,5,,5,,5,]

链接 - http://jsfiddle.net/eawAp/1/

答案 1 :(得分:0)

  

返回匹配内容的长度

算一下吧:

function count(arr) {
    var res = {};
    for (var i=0; i<arr.length; i++) {
        var content = arr[i];
        if (content in res)
            res[content]++;
        else
            res[content] = 1;
    }
    return res;
}

现在,您可以将count(A)的单个计数与count(B)的计数进行比较。