求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函数ajax
Aug 20 Javascript
jQuery学习2 选择器的使用说明
Feb 07 Javascript
基于jquery+thickbox仿校内登录注册框
Jun 07 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
Dec 02 Javascript
firefox浏览器不支持innerText的解决方法
Aug 07 Javascript
jquery隐藏标签和显示标签的实例
Nov 11 Javascript
jQuery获取父元素及父节点的方法小结
Apr 14 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
Jun 20 Javascript
js实现砖头在页面拖拉效果
Nov 20 Javascript
angular4 共享服务在多个组件中数据通信的示例
Mar 30 Javascript
通过angular CDK实现页面元素拖放的步骤详解
Jul 01 Javascript
Openlayers显示瓦片网格信息的方法
Sep 28 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
纯CSS打造的导航菜单(附jquery版)
2010/08/07 Javascript
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
javascript学习笔记(三)BOM和DOM详解
2014/09/30 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
js操作浏览器的参数方法
2017/01/21 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
vue动态绑定组件子父组件多表单验证功能的实现代码
2018/05/14 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
js实现简单的点名器随机色实例代码
2020/09/20 Javascript
vue使用过滤器格式化日期
2021/01/20 Vue.js
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
[01:00:35]2018DOTA2亚洲邀请赛3月30日B组 EffcetVSMineski
2018/03/31 DOTA
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
Python语言描述连续子数组的最大和
2018/01/04 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
详解Python Matplot中文显示完美解决方案
2019/03/07 Python
python爬虫 批量下载zabbix文档代码实例
2019/08/21 Python
Python Collatz序列实现过程解析
2019/10/12 Python
Python3的unicode编码转换成中文的问题及解决方案
2019/12/10 Python
python 操作hive pyhs2方式
2019/12/21 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
Django websocket原理及功能实现代码
2020/11/14 Python
python爬虫scrapy图书分类实例讲解
2020/11/23 Python
使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
2013/01/23 HTML / CSS
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
《小小竹排画中游》教学反思
2014/02/26 职场文书
个人廉洁自律承诺书
2014/03/27 职场文书
委托书范文
2014/04/02 职场文书
停车场管理协议书范本
2014/10/08 职场文书
三峡大坝导游词
2015/01/31 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
总经理致辞
2015/07/29 职场文书