求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代码
Nov 09 Javascript
ext combox 下拉框不出现自动提示,自动选中的解决方法
Feb 24 Javascript
javascript处理表单示例(javascript提交表单)
Apr 28 Javascript
node.js中的buffer.slice方法使用说明
Dec 10 Javascript
jquery序列化方法实例分析
Jun 10 Javascript
javascript瀑布流式图片懒加载实例
Jun 28 Javascript
浅谈SpringMVC中post checkbox 多选框value的值(隐藏域方式)
Jan 08 Javascript
vue2.0 路由不显示router-view的解决方法
Mar 06 Javascript
关于RxJS Subject的学习笔记
Dec 05 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
Jun 04 Javascript
JavaScript字符串处理常见操作方法小结
Nov 15 Javascript
利用JS如何获取form表单数据
Dec 19 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
PHP学习之字符串比较和查找
2011/04/17 PHP
php中global和$GLOBALS[]的分析之一
2012/02/02 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
js arguments.callee的应用代码
2009/05/07 Javascript
javascript 冒泡排序 正序和倒序实现代码
2010/12/14 Javascript
基于jquery自定义的漂亮单选按钮RadioButton
2013/11/19 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
ajax图片上传,图片异步上传,更新实例
2016/12/30 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
layui选项卡效果实现代码
2017/05/19 Javascript
bootstrap timepicker在angular中取值并转化为时间戳
2017/06/13 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
2018/09/28 Javascript
详解Vue中Axios封装API接口的思路及方法
2020/10/10 Javascript
python对字典进行排序实例
2014/09/25 Python
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
Python饼状图的绘制实例
2019/01/15 Python
Python骚操作之动态定义函数
2019/03/26 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
2020/01/17 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
周仰杰(JIMMY CHOO)法国官方网站:闻名世界的鞋子品牌
2019/09/27 全球购物
戴尔荷兰官方网站:Dell荷兰
2020/10/04 全球购物
RealTek面试题
2016/06/28 面试题
兼职业务员岗位职责
2014/01/01 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
2015年教师工作总结范文
2015/03/31 职场文书
趣味运动会赞词
2015/07/22 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
2021/06/18 MySQL
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android
我去timi了,一起去timi是什么意思?
2022/04/13 杂记