求数组的最大值和最小值的四种方法

本文介绍了四种在JavaScript中寻找数组最大值和最小值的方法,包括使用for循环、数组排序、Math.max/min结合解构赋值以及应用apply方法。通过实例代码演示了如何使用Math.max()和Math.min()结合ES6特性实现一行代码求解,强调了理解并掌握这些方法对于提升算法题解题效率的重要性。
部署运行你感兴趣的模型镜像

求数组中的最大值和最小值有很多种方法:

🧡方法1:for循环找最大值;

💛方法2:先对数组排序(从大到小,或者从小到大)max/min = arr[length-1]

💜方法3:使用内置对象Math身上的max/min方法,注意这种方法传入的值是不是数组,而是一个接一个的元素,这时候应该想到 ES6中的解构数组 了

💚方法4:巧用apply方法,因为apply方法它在执行的时候,可以将传入的数组解析成一个一个的元素。

代码验证:

let arr = [23,1,33,6,8,2];
max = Math.max(...arr);
console.log(max)   //33

min = Math.min.apply(null,arr)
console.log(min)   //1

关于apply方法的说明:

1、Math.max 参数里面不支持 Math.max([param1,param2]) 也就是数组   它支持Math.max(param1,param2,param3…),所以可以apply执行时会将数组解析成单个元素传入的特点来解决

2、第一个参数null?   

        第一个参数给了一个null,这个是因为没有对象去调用这个方法,

        我只需要用这个方法帮我运算,得到返回的结果就行,.所以直接传递了一个null过去

综上所属:

用Math.max()+es6解构方法是最简单的。只需一行代码

感觉学好 数组 的各种方法,做算法题直接起飞!!!!

您可能感兴趣的与本文相关的镜像

Langchain-Chatchat

Langchain-Chatchat

AI应用
Langchain

Langchain-Chatchat 是一个基于 ChatGLM 等大语言模型和 Langchain 应用框架实现的开源项目,旨在构建一个可以离线部署的本地知识库问答系统。它通过检索增强生成 (RAG) 的方法,让用户能够以自然语言与本地文件、数据库或搜索引擎进行交互,并支持多种大模型和向量数据库的集成,以及提供 WebUI 和 API 服务

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值