数组、字符串中查找最大重复次数最高元素的多种方法

数组中寻找最大值

1、for循环遍历

var arr = [1,2,3,4,5,6,7,9,8]
var numb = [2,5,6,7,9,1,2,45]
function getMax(a){
var max=a[0]
for(let i=0;i<a.length;i++){
if(a[i]>=max){
max=a[i]}
}
console.log(max)//9
}
getMax(arr)//9
getMax(numb)//45


2、Math.max

var arr = [1,2,3,4,5,6,7,9,8]
var numb = [2,5,6,7,9,1,2,45]
let maxarr=Math.max(...arr)  //扩展运算符
let maxnum=Math.max.apply(numb ,numb ) //apply
console.log(maxarr)//9
console.log(maxnum)//45

3、Array.sort()排序之后再取最后一位

var arr = [1,2,3,4,5,6,7,9,8]
var numb = [2,5,6,7,9,1,2,45]
var  maxarr = arr.sort();
var  maxnum = numb.sort();
console.log(maxarr[maxarr.length-1]);//9
console.log(maxnum [maxnum.length-1]);//9  要给sort加个排序函数

var  maxnum = numb.sort(function (a, b) { return a - b});
console.log(maxnum [maxnum.length-1])//45

一维数组寻找重复率最高的元素

1、使用key-value方式
添加链接描述
添加链接描述

function getmore(a){
    let max=null;//定义一个用来存储出现次数最多的元素
    let num=1;//定义一个用来存储最出现的次数
    a.reduce(function (f,k){//f:total 初始值,上一次返回的值,  k:当前元素
        f[k]?f[k]++ : f[k]=1      //{1:}为fales  {1:1}   下次循环   {1:1 1:}为true 所以  { 1:2}
        if(f[k]>1){               //true  num=2  max =1 依次循环
        num=f[k]
        max = k}
        return f
    },{})
    return{max:max,num:num}
}
arr =[1,1,2,2,3,3,4,4,4]
getmore(arr)//{max: 4, num: 3}
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值