前端开发

 首页 > 前端开发 > javascript > JS获取数组中出现次数最多及第二多元素的方法

JS获取数组中出现次数最多及第二多元素的方法

分享到:
【字体:
导读:
         [导读] 本文实例讲述了JS获取数组中出现次数最多及第二多元素的方法。分享给大家供大家参考,具体如下: 整型数组中出现次数最多和第二多的元素 用哈希数组 functionf(arr){vari;varlength=arr....

本文实例讲述了JS获取数组中出现次数最多及第二多元素的方法。分享给大家供大家参考,具体如下:

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

用哈希数组

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);

运行结果:

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

用对象保存值和次数

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

运行结果:

分享到:
ES6中Class类的静态方法实例小结
本文实例讲述了ES6中Class类的静态方法。分享给大家供大家参考,具体如下: 以前看过的es6的东西,又忘了,再总结下: 类相当于实例的原型,所有在类中定义的方法,都会被实例继承。如果在一个方法前,加上static关键字,就表示该方法不会被实例继承,而是直接通过类来调用,这就称为“静态方法” class Foo {   stati...
js 概率计算(简单版)
核心代码: //7:3运算 if(Math.ceil(Math.random()*10)>3){   //占比=7   alert('7');   window.location.href="http://www.baidu.com" rel="external nofollow" ; }else{   //占比=3   alert(3);   widnow.location.href="http://www.jb51.net"; } 通过随机数大小来判断,最好访问哪个...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……