位置: 编程技术 - 正文

JavaScript学习笔记之取数组中最大值和最小值(javascript要怎么学)

编辑:rootadmin

推荐整理分享JavaScript学习笔记之取数组中最大值和最小值(javascript要怎么学),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript教程,javascript教程完整版,javascript教程,javascript学习指南,javascript教程推荐知乎,javascript如何学,javascript入门教程,javascript基础笔记,内容如对您有帮助,希望把文章链接给更多的朋友!

推荐阅读:JavaScript学习笔记之数组的增、删、改、查

JavaScript学习笔记之数组求和方法

JavaScript学习笔记之数组随机排序

在实际业务中有的时候要取出数组中的最大值或最小值。但在数组中并没有提供arr.max()和arr.min()这样的方法。那么是不是可以通过别的方式实现类似这样的方法呢?那么今天我们就来整理取出数组中最大值和最小值的一些方法。

取数组中最大值

可以先把思路理一下:

将数组中第一个元素赋值给一个变量,并且把这个变量作为最大值;

开始遍历数组,从第二个元素开始依次和第一个元素进行比较

如果当前的元素大于当前的最大值,就把当前的元素值赋值给最大值

移动到下一个元素,继续按前面一步操作

当数组元素遍历结束时,这个变量存储的就是最大值

代码如下:

来看一个示例:

上面的示例,数组中都是数值,那么如果数组中不全是数值会是一个什么样的效果呢?来测试一下先:

这并不是我们想要的结果吧。(此处跪求解决方案)

通过前段时间的学习,都知道for循环性能要比forEach()差,那可以将上面的方法改成forEach()方法:

取数组中最小值

JavaScript学习笔记之取数组中最大值和最小值(javascript要怎么学)

类似取最大值的思路一样,我们可以很轻松的实现arr.min()方法,取出数组中的最小值:

其他方法

除了上面的方案,还可以有其他方法,比如使用数组的reduce()方法。回忆前面的学过的知识,reduce()方法可以接收一个回调函数callbackfn,可以在这个回调函数中拿数组中的初始值(preValue)与数组中当前被处理的数组项(curValue)做比较,如果preValue大于curValue值返回preValue,反之返回curValue值,依此类推取出数组中最大值:

同样的也可以使用类似的方法实现arr.mix()方法,取出数组中的最小值:

内置函数Math.max()和Math.min()方法

对于纯数字数组,可以使用JavaScript中的内置函数Math.max()和Math.min()方法。使用这两个内置函数可以分别找出数组中的最大值和最上值。在使用这两种内置函数取出数组最大和最小值之前,先学习一下Math.max()和Math.min()两个函数。

Math.max()

Math.max()函数返回一组数中的最大值。

Math.min()

Math.min()函数和Math.max()函数刚好相反,其会返回一组数中的最小值:

这些函数如果没有参数,则结果为 -Infinity;如果有任一参数不能被转换为数值,则结果为 NaN。最主要的是这两个函数对于数字组成的数组是不能直接使用的。但是,这有一些类似地方法。

Function.prototype.apply()让你可以使用提供的this与参数组与的数组来调用参数。

Math对象也是一个对象,可以使用对象的字面量来写,如:

其实还有更简单的方法。基于ES的方法来实现此功能,是使用展开运算符:

此运算符使数组中的值在函数调用的位置展开。

总结

这篇文章整理了几个从数组中取出最大值和最小值的方法。这几个方法都只是会对于数字数组,而对于数组中包含其他数据类型时,如何只取出最大的数值和最小的数值(如果您知道如何实现,还望指点迷津)。而这几种方法当中,使用JavaScript的内置函数Math.max()和Math.min()配合Function.prototype.apply()可以轻松取出数组中的最大值和最小值。当然最最简单的要当数ES中使用展示运算符的方法。

关于JavaScript学习笔记之取数组中最大值和最小值的方法就给大家介绍这么多,如果大家还有更好的方案,希望能在下面的评论中与我们一起分享。

JS随机洗牌算法之数组随机排序 推荐阅读:JavaScript学习笔记之数组的增、删、改、查JavaScript学习笔记之数组求和方法JavaScript学习笔记之数组随机排序洗牌算法是一个比较形象的术语

JavaScript弹出对话框的三种方式 学习过js的小伙伴会发现,我们在一些实例中用到了alert()方法、prompt()方法、prompt()方法,他们都是在屏幕上弹出一个对话框,并且在上面显示括号内的

基于javascript实现句子翻牌网页版小游戏 本文实例为大家分享了js实现句子翻牌网页版小游戏,供大家参考,具体内容如下效果图:实现思路:考察打字能力和记忆能力的益智小游戏。1.会先把

标签: javascript要怎么学

本文链接地址:https://www.jiuchutong.com/biancheng/375939.html 转载请保留说明!

上一篇:JavaScript学习笔记之数组去重(javascript如何学)

下一篇:JS随机洗牌算法之数组随机排序(js数组洗牌)

  • 租厂房土地使用税
  • 劳务报酬自行申报时间
  • 实收资本增加印花税税目
  • 购进货物未取得增值税专用发票可以抵扣进项税额吗
  • 报销单与发票金额不符
  • 一般纳税人劳务费税率是13还是6
  • 所属税务机关是根据什么分配的
  • 开发票商品类别与商品明细的区别
  • 审计库存现金盘点方法
  • 增值税负率怎么算
  • 财产损失税务备案
  • 增值税专用发票电子版
  • 待认证转进项税额转出会计分录
  • 营改增后房地产企业增值税税收筹划存在问题
  • 开个体户需要什么资料
  • 小规模纳税人要做固定资产吗
  • 外挂项目跨年结转分录怎么做?
  • 一般人企业所得税怎么算
  • 4s店以车换车怎么算的
  • 无发票的费用怎么处理
  • 苹果电脑如何缩小图片大小
  • 新版edge浏览器兼容ie
  • 如何正确使用储存卡
  • 上年多计提所得税怎么做会计分录
  • 纳税人哪些支出不用交税
  • 材料暂估的会计分录怎么做
  • 苹果电脑录屏的视频保存在哪里
  • 怎么实现增删改查
  • 餐费专用发票怎么抵扣
  • win11多开
  • PHP:ftp_get_option()的用法_FTP函数
  • hipsdaemon.exe是什么
  • 发票与付款金额不一致违法吗
  • php数组转js数组
  • 二连浩特老照片
  • 小米随身wf
  • 无偿占用资金企业有哪些
  • 蓬莱德尔塔
  • 研发专利什么意思
  • 公司注销公司名下的房子怎么办
  • 进出口额等于进口额加出口额吗
  • 当月确认收入可以下月确认成本吗
  • 赠品视同销售价格如何确定
  • 使用mysql的disctinct group by查询不重复记录
  • 税前利润是否等于利润总额
  • 固定资产盘点怎么做
  • 异地预缴税金
  • 民办非盈利组织注销了在哪登报
  • 处置无形资产净收益计入什么科目
  • 跨年进项发票怎样账务处理
  • 外购不动产用于办公
  • 公路工程投标保证金
  • 公司的在建工程入账会计分录没有付款
  • 建筑施工企业劳务费怎么入成本
  • 旅游服务住宿费公司不给报销
  • 应发和实发工资账务处理
  • 应收款挂账是什么意思
  • 公司房租没有发票不入账税务怎么处理
  • 房产开发企业以什么为主
  • 明细账怎么弄
  • 全民用车app下载
  • 怎么修复xp系统
  • switpa.exe - switpa是什么进程
  • schedhlp.exe - schedhlp是什么进程 作用是什么
  • windows更新后桌面没反应
  • cocos2dx4.0教程
  • 感恩节0
  • 优化了一些已知问题是什么意思安不安装
  • 解决胃胀气最快方法
  • eval()函数python
  • python 爬虫
  • linux 进程监控
  • Unity3D AsssetBundle加载效率比较
  • 3ds 俄罗斯方块
  • script标签的defer和async
  • python网络爬虫总结
  • 昌隆鑫实业集团招聘
  • 河南省郸城县教育局举报电话
  • 车辆过户给自己家人
  • 税务绩效管理主要内容
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设