如何仅在Javascript中创建另一个数组的重复值数组?

Jim*_*ket 4 javascript arrays multiple-instances count duplicates

我有一个来自多家公司(一些来自同一家公司,一些不是)的注册人的阵列,我需要计算来自同一家公司的注册人数.所以我需要一个数字告诉我有多少人(在第一个之后)来自独特的公司注册.

说我有一个数组:

var company_names = ['acme', 'acme', 'bobo', 'comanche', 'acme', 'comanche'];
Run Code Online (Sandbox Code Playgroud)

和变量:

var companies_eligible_for_discount = 0;
Run Code Online (Sandbox Code Playgroud)

我如何计算3个折扣?(2表示"acme",1表示"comanche")

Rig*_*red 5

var dupes = {};

company_names.forEach(function(v,i) {
    if( v in dupes ) {
        dupes[v]++;
        companies_eligible_for_discount++;
    }
    else dupes[v] = 0;
});
Run Code Online (Sandbox Code Playgroud)
var dupes = {}, v, i;

for( i = 0; i < company_names.length; ++i ) {
    v = company_names[i];
    if( v in dupes ) {
        dupes[v]++;
        companies_eligible_for_discount++;
    }
    else dupes[v] = 0;
}
Run Code Online (Sandbox Code Playgroud)