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


Posted in Javascript onMarch 03, 2017

给定数组[54,65,43,21,12,34,45,58,97,24],求其最大值和最小值?

定义数组

var ary = [54,65,43,21,12,34,45,58,97,24];

1、字符串拼接法

利用toString和join把数组转换为字符串,再和Math的max和min方法分别进行拼接,最后执行eval方法

var maxN = eval("Math.max(" + ary.toString() + ")");
var minN = eval("Math.min(" + ary.toString() + ")");

或者

var maxN = eval("Math.max(" + ary.join() + ")");
var minN = eval("Math.min(" + ary.join() + ")");

2、排序法

先把数组从小到大排序,数组第一个即为最小值,最后一个即为最大值

ary.sort(function(a,b){return a-b;});
var minN = ary[0];
var maxN = ary[ary.length-1];

3、假设法

假设数组第一个为最大(或最小值),和后边进行比较,若后边的值比最大值大(或比最小值小),则替换最大值(或最小值)

var maxN = ary[0];
var minN = ary[0];
for(var i=1;i<ary.length;i++){
  var cur = ary[i];
  cur>maxN ? maxN=cur : null;
  cur<minN ? minN=cur : null;
}

4、Math的max和min方法

使用apply方法使数组可以作为传递的参数

var maxN = Math.max.apply(null,ary);
var minN = Math.min.apply(null,ary);

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
使用jquery动态加载javascript以减少服务器压力
Oct 29 Javascript
jquery获取一组checkbox的值(实例代码)
Nov 04 Javascript
Jquery 实现grid绑定模板
Jan 28 Javascript
javascript模拟命名空间
Apr 17 Javascript
js前端面试题及答案整理(一)
Aug 26 Javascript
JS原型链 详解及示例代码
Sep 06 Javascript
通过一次报错详细谈谈Point事件
May 17 Javascript
vue项目动态设置页面title及是否缓存页面的问题
Nov 08 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
Dec 24 Javascript
JavaScript常见事件对象与操作实例总结
Jan 05 Javascript
JSON字符串操作移除空串更改key/value的介绍
Jan 05 Javascript
浅谈vue2的$refs在vue3组合式API中的替代方法
Apr 18 Vue.js
jQuery控制元素隐藏和显示
Mar 03 #Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
Mar 03 #Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
Mar 03 #Javascript
angular+bootstrap的双向数据绑定实例
Mar 03 #Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
Mar 03 #Javascript
js实现二级导航功能
Mar 03 #Javascript
js实现简单的获取验证码按钮效果
Mar 03 #Javascript
You might like
SONY ICF-SW55的电路分析
2021/03/02 无线电
ThinkPHP基本的增删查改操作实例教程
2014/08/22 PHP
php将csv文件导入到mysql数据库的方法
2014/12/24 PHP
php实现登陆模块功能示例
2016/10/20 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
javascript Ext JS 状态默认存储时间
2009/02/15 Javascript
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
jquery阻止后续事件只执行第一个事件
2014/07/24 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
2016/08/02 Javascript
浅谈JS继承_寄生式继承 &amp; 寄生组合式继承
2016/08/16 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
2020/07/15 Javascript
JavaScript实现手风琴效果
2021/02/18 Javascript
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
浅析python 定时拆分备份 nginx 日志的方法
2020/04/27 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
2020/05/11 Python
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
最新计算机专业自荐信
2013/10/16 职场文书
生产部岗位职责范文
2014/02/07 职场文书
国庆节演讲稿
2014/05/27 职场文书
2016年优秀少先队员事迹材料
2016/02/26 职场文书
解析laravel使用workerman用户交互、服务器交互
2021/04/28 PHP
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android
深入理解go slice结构
2021/09/15 Golang