如何在JavaScript数组计重复的值 [英] How to count duplicate value in an array in javascript

查看:117
本文介绍了如何在JavaScript数组计重复的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

目前,我得到了这样的一个数组:

  VAR uniqueCount =阵列();

在了几步,我的数组看起来像:

  uniqueCount = [A,B,C,D,D,E,A,B,C,F,G,H,H,H,E,A]。

我怎么能算一个,B,C究竟有多少数组中?我想有这样的结果:

  A = 3
B = 1
C = 2
D = 2

等。


解决方案

 函数count(){
    array_elements = [一,B,C,D,E,一个,B,C,F,G,H,H ,H,E,一个];    array_elements.sort();    无功电流=无效;
    变种CNT = 0;
    对于(VAR I = 0; I< array_elements.length;我++){
        如果(array_elements [I]!=电流){
            如果(CNT大于0){
                的document.write(电流+'来 - >'+ CNT +'时代< BR>');
            }
            电流= array_elements [I];
            CNT = 1;
        }其他{
            CNT ++;
        }
    }
    如果(CNT大于0){
        的document.write(电流+'来 - >'+ CNT +'时代');
    }}

演示小提琴

Currently, I got an array like that:

var uniqueCount = Array();

After a few steps, my array looks like that:

uniqueCount = [a,b,c,d,d,e,a,b,c,f,g,h,h,h,e,a];

How can I count how many a,b,c are there in the array? I want to have a result like:

a = 3
b = 1
c = 2
d = 2

etc.

解决方案

function count() {
    array_elements = ["a", "b", "c", "d", "e", "a", "b", "c", "f", "g", "h", "h", "h", "e", "a"];

    array_elements.sort();

    var current = null;
    var cnt = 0;
    for (var i = 0; i < array_elements.length; i++) {
        if (array_elements[i] != current) {
            if (cnt > 0) {
                document.write(current + ' comes --> ' + cnt + ' times<br>');
            }
            current = array_elements[i];
            cnt = 1;
        } else {
            cnt++;
        }
    }
    if (cnt > 0) {
        document.write(current + ' comes --> ' + cnt + ' times');
    }

}

Demo Fiddle

这篇关于如何在JavaScript数组计重复的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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