在想一个js算法,如何算出数组所有项的出现次数

比如vararr=[1,2,3,1,5,8,2,9,9,2,2,2,3];
如何才能能够算出,数组中有几种值,以及某种值出现的次数呢?
比如这个题答案就是:
数组中出现的元素值为:1,2,3,5,8,9这几个。
其中1出现次数为2次,2出现次数为5次,3出现次数为2次,5出现次数为1次,8出现次数为1次,9出现次数为2次。
各位大佬有什么思路吗?
如果您有思路,可以给小弟来个评论,实现方法多多益善~~~
ABOUTYOU
浏览 1127回答 2
2回答

慕码人8056858

第一种obj记录出现次数varobj={};for(vari=0;i

富国沪深

初始化空对象,遍历数组,把数组成员设置为对象的key,初始value为0,然后每找到一个key++arr.reduce((prev,curr)=>{prev[curr]=prev[curr]||0prev[curr]++returnprev},{})数组去重,得到唯一的成员,然后遍历,返回每个成员在原数组中的个数[...newSet(arr)].map(a=>({[a]:arr.filter(_a=>_a===a).length}))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript