求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 相关文章推荐
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
Jan 08 Javascript
jQuery打印图片pdf、txt示例代码
Jul 22 Javascript
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
Aug 30 Javascript
jQuery EasyUi实战教程之布局篇
Jan 26 Javascript
AngularJS应用开发思维之依赖注入3
Aug 19 Javascript
微信小程序 获取微信OpenId详解及实例代码
Oct 31 Javascript
详解webpack性能优化——DLL
Oct 20 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
Nov 30 Javascript
关于js对textarea换行符的处理方法浅析
Aug 03 Javascript
详解三种方式解决vue中v-html元素中标签样式
Nov 22 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
Nov 05 Javascript
vue使用echarts实现水平柱形图实例
Sep 09 Javascript
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
轻松修复Discuz!数据库
2008/05/03 PHP
ThinkPHP中redirect用法分析
2014/12/05 PHP
PHP编写daemon process详解及实例代码
2016/09/30 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
Ext面向对象开发实践(续)
2008/11/18 Javascript
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
js 模拟气泡屏保效果代码
2010/07/10 Javascript
热点新闻滚动特效的js代码
2013/08/17 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
基于javascript的COOkie的操作实现只能点一次
2014/12/26 Javascript
Jquery中$.post和$.ajax的用法小结
2015/04/28 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
js实现全选和全不选
2020/07/28 Javascript
Python多线程实现同步的四种方式
2017/05/02 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
python 编码规范整理
2018/05/05 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
2014/10/11 HTML / CSS
css sprite简单实例
2016/05/23 HTML / CSS
Omio葡萄牙:全欧洲低价大巴、火车和航班搜索和比价
2019/02/09 全球购物
如何理解委托
2012/01/06 面试题
企业厂务公开实施方案
2014/03/26 职场文书
法制宣传教育方案
2014/05/09 职场文书
小学生一分钟演讲稿
2014/08/26 职场文书
无犯罪记录证明范本
2014/09/15 职场文书
维稳承诺书
2015/01/20 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
七年级作文之英语老师
2019/10/28 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS
使用HttpSessionListener监听器实战
2022/03/17 Java/Android
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA