如何在js中查找数组中元素的出现次数

时间:2017-09-27 10:54:13

标签: javascript jquery arrays

enter image description here enter image description here test我有一个像这样的数组

var arr1 = [3, 'a', 'a', 'a', 2, 3, 'a', 3, 'a', 2, 4, 9, 3];

我希望输出像a - 5次 我试过如下: -

var count = 0;
for (var i = 0; i < arr.length; i++) {
    arr.indexOf(arr[i] > -1) {
        count++;
    }
}

但没有奏效,任何人都可以帮助我。谢谢。

2 个答案:

答案 0 :(得分:1)

arr1.filter(x => x > -1).length

或者您可以使用reduce代替(效率更高,可读性更低)。

答案 1 :(得分:0)

使用 Loadash

&#13;
&#13;
var resul = _.countBy([3, 'a', 'a', 'a', 2, 3, 'a', 3, 'a', 2, 4, 9, 3]);
console.log(resul);
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js"></script>
&#13;
&#13;
&#13;