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

本文主要介绍了js获取数组中出现次数最多及第二多元素的方法,涉及javascript针对数组的遍历、排序、判断、查询等相关操作技巧,需要的朋友可以参考下,希望能帮助到大家。

整型数组中出现次数最多和第二多的元素

用哈希数组

function f(arr){  var i;  var length=arr.length;  var hash=[];//使用哈希数组  for(i=0;imax){      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);

登录后复制

运行结果:

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

数组中出现次数最多和第二多的元素

用对象保存值和次数

function f(arr){  var temp=[];//对象数组  var i;  temp[0]={value:arr[0],index:1};//保存数组元素出现的次数和值  arr.sort();  for(i=1;i<arr.length;i++){    if(arr[i]==arr[i-1]){      temp[temp.length-1].index++;    }else{//不相同则新增一个对象元素      temp.push({index:1,value:arr[i]});    }  }  temp.sort(function(a,b){//按照出现次数从大到小排列    return a.index<b.index;  })  var max=temp[0].index;  var maxV=temp[0].value;  var second=temp[1].index;  var secondV=temp[1].value;  return {max,maxV,second,secondV};}var arr=[2,2,3,4,5,100,100,,3,1,4,4,100,100];var {max,maxV,second,secondV}=f(arr);console.log(max,maxV,second,secondV);

登录后复制

运行结果:

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

这种方法不仅可以用于整型数组的统计,还能用于字符数组的统计

以上代码改用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<arr.length;i++){    if(arr[i]==arr[i-1]){      temp[temp.length-1].add();    }else{      temp.push(new num(arr[i]));    }  }  temp.sort(function(a,b){    return a.index<b.index;  })  let max=temp[0].index;  let maxV=temp[0].value;  let second=temp[1].index;  let secondV=temp[1].value;  return {max,maxV,second,secondV};}var arr=['a','b','a','b','a','c','d','d','d','d'];var {max,maxV,second,secondV}=f(arr);console.log(max,maxV,second,secondV);

登录后复制

运行结果:

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

相关推荐:

js获取数组任意个不重复的随机数组元素[原创]_javascript技巧

js获取数组的最后一个元素_javascript技巧

JS获取数组最大值、最小值及长度的方法_javascript技巧

以上就是JS获取数组中出现次数最多元素的方法详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2790323.html

(0)
上一篇 2025年3月8日 18:55:17
下一篇 2025年3月8日 18:55:29

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JavaScript优先队列与循环队列实例详解

    本文主要介绍了javascript数据结构之优先队列与循环队列,结合实例形式较为详细的分析了javascrip数据结构中优先队列与循环队列的原理、定义与使用方法,需要的朋友可以参考下,希望能帮助到大家。 优先队列 实现一个优先队列:设置优先…

    2025年3月8日
    200
  • JavaScript实现报警器提示音效果详解

    本文主要给大家分享分享一段代码基于javascript实现报警器提示音效果,非常不错,具有参考借鉴价值,需要的朋友参考下吧,希望能帮助到大家。 原型图: 项目需求: 服务器接受到报警后将消息推送到前台,(通过前端实时消息提示的效果-webs…

    2025年3月8日
    200
  • JavaScript双向链表定义与使用方法

    本文主要介绍了javascript数据结构之双向链表定义与使用方法,简单介绍了双向链表的原理,并结合实例形式分析了双向链表的定义与使用方法,需要的朋友可以参考下,希望能帮助到大家。 双向链表和普通链表的区别在于,在链表中,一个节点只有链向下…

    2025年3月8日
    200
  • js通过Date对象实现倒计时动画效果实例分享

    本文主要为大家详细介绍了js通过date对象实现倒计时动画效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。 js通过Date对象实现倒计时效果,具体内容如下 nbsp;html>    倒计时动画   p{ …

    编程技术 2025年3月8日
    200
  • Javascript中双等号隐性转换机制分析

    本文主要和大家详细介绍了javascript中双等号(==)隐性转换机制,非常不错,具有参考借鉴价值,需要的朋友参考下吧,希望能帮助到大家。 在Javascript中判断相等关系有双等号(==)和三等号(===)两种。其中双等号(==)是值…

    编程技术 2025年3月8日
    200
  • JS和CSS网页加载中的动画效果实现方法

    本文主要为大家详细介绍了js+css实现网页加载中的动画效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。 本文实例为大家分享了JS实现网页加载中效果的具体代码,供大家参考,具体内容如下 需要材料: 一张loadin…

    2025年3月8日
    200
  • AngularJS的环境搭建初学教程

    本文主要介绍了初学者angularjs的环境搭建过程,在文章给大家提到了angular-cli的特性,大家一起看看吧,希望能帮助到大家。 AngularJS是什么? AngularJS是一个开源Web应用程序框架。它最初是由MISKO He…

    编程技术 2025年3月8日
    200
  • JavaScript中Require调用js实例讲解

    本文主要为大家带来一篇javascript中require调用js的实例分享。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 在我最初开始写 JavaScript 函数时,通常是这样的: f…

    编程技术 2025年3月8日
    200
  • 详解JavaScript自执行函数和jQuery扩展方法

    本文主要为大家详细介绍了javascript自执行函数和jquery扩展方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。 我们通常将JS代码写在一个单独的JS文件中,然后在页面中引入该文件。但是,有时候引入后会碰到…

    编程技术 2025年3月8日
    200
  • 三种JavaScript模拟实现封装的方式及写法区别分享

     继承是使用一个子类继承另一个父类,那么子类可以自动拥有父类中的所有属性和方法,这个过程叫做继承!  js中有很多实现继承的方法,今天我给大家介绍其中的三种吧。下面通过本文来了解下js模拟实现封装的三种方法,需要的朋友参考下吧,希望能帮助到…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论