您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

JS获取数组中出现次数最多元素的方法详解

2024/5/23 15:01:42发布26次查看
本文主要介绍了js获取数组中出现次数最多及第二多元素的方法,涉及javascript针对数组的遍历、排序、判断、查询等相关操作技巧,需要的朋友可以参考下,希望能帮助到大家。
整型数组中出现次数最多和第二多的元素
用哈希数组
function f(arr){   var i;   var length=arr.length;   var hash=[];//使用哈希数组   for(i=0;i<length;i++){ if(!hash[arr[i]])hash[arr[i]]=1;//没有初始化的数组元素为undefined,undefined++为nan else hash[arr[i]]++; } var max=0;//最多的次数 var maxv;//出现最多的元素 var second=0;//第二多的次数 var secondv;//出现第二多的元素 hash.foreach(function(item,index){//foreach函数会跳过空元素 if(item>max){       second=max;       secondv=maxv;       max=item;       maxv=index;//用索引来保存原数组的值     }else if(item>second){       second=item;       secondv=index;     }   });   return {max,maxv,second,secondv}; } var arr=[2,2,2,2,3,4,5,4,3,1,4,4,100,100]; var {max,maxv,second,secondv}=f(arr);//es的元素解构赋值 console.log(max,maxv,second,secondv);
运行结果:
数组中出现次数最多和第二多的元素
用对象保存值和次数
function f(arr){   var temp=[];//对象数组   var i;   temp[0]={value:arr[0],index:1};//保存数组元素出现的次数和值   arr.sort();   for(i=1;i 运行结果:
这种方法不仅可以用于整型数组的统计,还能用于字符数组的统计
以上代码改用es6的形式书写
function f(arr){   class num{     constructor(value){       this.value=value;       this.index=1;     }     add(){       this.index++;     }   }   arr.sort();   let temp=[];   temp[0]=new num(arr[0]);   for(let i=1;i 运行结果:
相关推荐:
js获取数组任意个不重复的随机数组元素[原创]_javascript技巧
js获取数组的最后一个元素_javascript技巧
js获取数组最大值、最小值及长度的方法_javascript技巧
以上就是js获取数组中出现次数最多元素的方法详解的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product