JS怎么判断数组有多少个重复的

比如
['aa','aa','bb','cc','aa','dd','dd'];

'aa' 有 3个重复的。

怎么判断一个数组里面到底有几个重复的?

阅读 7.3k
5 个回答
var arr = [1,2,3,4,1,3,4,5,5,88,7,3,1];
    function counterArray(arr){
        var obj = {}
        arr.forEach(function(v,k){
            if(obj[v]){
                obj[v]++;
            }else{
                obj[v] = 1;
            }
        })
        return obj;
    }

不过这种方法只能对字符串或者数字有效,对于对象就不行了

for循环不会写?

可以用loadsh的_.countBy.

具体是怎么实现的也可以看看loadsh的源码

    const arr = ['aa','aa','bb','cc','aa','dd','dd'];
    const a = "aa";
    
    const newArr = arr.filter((x) => x === a);
    console.log(newArr.length);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题