前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >返回数组中出现最多的元素和次数 reduce方法

返回数组中出现最多的元素和次数 reduce方法

作者头像
且陶陶
发布于 2023-04-12 07:52:08
发布于 2023-04-12 07:52:08
65500
代码可运行
举报
文章被收录于专栏:Triciaの小世界Triciaの小世界
运行总次数:0
代码可运行
  1. 使用reduce函数
  2. prev初始值设置为一个空对象 {}
  3. 遍历整个数组arr,以当前遍历的元素作为对象prev的属性,查询对象中是否存在该属性,如果存在 ,将该属性值(也就是该元素出现的次数)加1,如不存在,设置该属性值为1 。 prev[curr] ? prev[curr]++ : prev[curr] = 1
  4. 判断当前的元素次数和最大元素出现次数,如果大于最大元素次数,就将该值赋值给最大元素次数
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const arr = [1,1,2,3,4,4,4,4,4,5]
let maxNum = null // 出现最多的元素
let maxCount = 1 // 元素出现的最大次数
const obj = arr.reduce((prev,curr) => {
  prev[curr] ? prev[curr]++ : prev[curr] = 1
  if(prev[curr]>maxCount){
    maxCount = prev[curr]
    maxNum = curr
  }
  return prev
},{})
console.log(maxNum, obj[maxNum])
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JS数组reduce()方法详解及高级技巧
reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组。
kif
2023/02/27
6970
reduce()数组方法的使用场景
程序媛夏天
2024/01/18
2330
前端必会手写面试题合集5
event bus既是node中各个模块的基石,又是前端组件通信的依赖手段之一,同时涉及了订阅-发布设计模式,是非常重要的基础。
helloworld1024
2023/01/09
6620
爆肝整理高频js手写题请查收
发布订阅者模式,一种对象间一对多的依赖关系,但一个对象的状态发生改变时,所依赖它的对象都将得到状态改变的通知。
helloworld1024
2022/11/01
1.2K0
ES6知识点
从上述代码中我们可以发现,虽然变量还没有被声明,但是我们却可以使用这个未被声明的变量,这种情况就叫做提升,并且提升的是声明。
江拥羡橙
2023/12/18
1620
ES6知识点
reduce方法的使用
认识reduce 语法:arr.reduce(callbackFn,[initialValue]) callbackFn : 一个 “reducer” 函数,包含四个参数: previousValue:上一次调用 callbackFn 时的返回值。在第一次调用时,若指定了初始值 initialValue,其值则为 initialValue,否则为数组索引为 0 的元素 array[0] currentValue:数组中正在处理的元素。在第一次调用时,若指定了初始值 initialValue,其值则
且陶陶
2023/04/12
4730
reduce方法的使用
分享6个对象数组去重的方法
使用 filter() 方法过滤掉重复的元素,使用 findIndex() 方法判断对象是否重复,代码如下:
前端达人
2023/02/17
4.1K0
分享6个对象数组去重的方法
前端手写面试题合集
String.prototype.padStart 和 String.prototype.padEnd是ES8中新增的方法,允许将空字符串或其他字符串添加到原始字符串的开头或结尾。我们先看下使用语法:
helloworld1024
2022/12/07
3570
几个关于js数组方法reduce的经典片段
以下是个人在工作中收藏总结的一些关于javascript数组方法reduce的相关代码片段,后续遇到其他使用这个函数的场景,将会陆续添加,这里作为备忘。 javascript数组那么多方法,为什么我要单挑reduce方法,一个原因是我对这个方法掌握不够,不能够用到随心所欲。另一个方面,我也感觉到了这个方法的庞大魅力,在许多的场景中发挥着神奇的作用。 理解reduce函数 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。 arr.
糊糊糊糊糊了
2018/05/09
2.2K0
深入浅出数组reduce,看完就会
在之前笔者总结过一篇关于数组盘盘项目中你常用到的数组API的文章,在这篇文章中有粗略的讲解到reduce这个计算API,关于reduce这个API印证了那句,会者不难,难者不会,因为reduce实现的功能虽然简单,但是代码看起来就没有其他API容易理解。
Maic
2022/12/21
2970
深入浅出数组reduce,看完就会
高级前端手写面试题汇总
可以给img标签统一自定义属性data-src='default.png',当检测到图片出现在窗口之后再补充src属性,此时才会进行图片资源加载。
helloworld1024
2022/12/15
8530
reduce函数20个高级用法 看看你掌握了多少?
微芒不朽
2024/04/03
5180
reduce函数20个高级用法 看看你掌握了多少?
13个JavaScript数组reduce的实例方法
对比map、 forEach、 filter 等数组方法,reduce比它们更强。
前端达人
2021/05/11
7910
Javascript 常见的操作数组的方法
解释: arr 表示原数组; prev 表示上一次调用回调时的返回值,或者初始值 init; cur 表示当前正在处理的数组元素; index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1; init 表示初始值
何处锦绣不灰堆
2020/05/28
5160
【JavaScript】封装了二十个操作数组的方法,助你提升开发效率!
Boolean : true 所有元素都通过检测 , false 存在元素没有通过检测。
一尾流莺
2022/12/10
4200
JavaScript权威指南 - 数组
JavaScript数组是一种特殊类型的对象。 JavaScript数组元素可以为任意类型,最大容纳232-1个元素。 JavaScript数组是动态的,有新元素添加时,自动更新length属性。 JavaScript数组元素索引可以是不连续的,它们之间可以有空缺。
Esofar
2018/09/05
4.2K0
代码片段分享:14个JavaScript代码片段,轻松掌握reduce进阶用法
你是不是还在为处理数组头疼?那你一定要试试JavaScript的reduce方法!这个方法真的超强大,能把数组里的每个元素都“串”起来,最后得到一个你想要的结果。不管你是要计算总和,还是想把数据转换成另一种形式,reduce都能轻松帮你搞定。而且,用好了它,你会发现自己写的代码更简洁、更优雅!对初学者来说,掌握这个方法绝对是提升编程能力的关键一步,快来试试吧!
前端达人
2024/11/25
1190
代码片段分享:14个JavaScript代码片段,轻松掌握reduce进阶用法
js中的reduce()方法 讲解 和实现
该方法对数组中的每个元素 按序执行 一个提供的 reducer 函数,每一次运行 reducer 会将先前元素的计算结果作为参数传入,最后将其结果汇总为单个返回值。
心安事随
2024/07/29
1260
数组reduce方法的高级用法
使用下来,感觉确实妙用无穷,仿佛自己的逼格在无形中变得高大了一点点,哈哈,上一篇文章的简单介绍确实有点糙,因此决定重新一些总结文章。这篇文章就是专门总结reduce方法的,这个方法大有可研究的地方,值得大家get它并去动手实践一下。
用户6901603
2020/07/23
7120
前端一面必会手写面试题指南
instanceof 运算符用于判断构造函数的 prototype 属性是否出现在对象的原型链中的任何位置。
helloworld1024
2022/11/09
6900
相关推荐
JS数组reduce()方法详解及高级技巧
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验