javascript实现查找数组中最大值方法汇总


Posted in Javascript onFebruary 13, 2016

方法一(使用递归函数):

var arr = [9,8,55,66,49,68,109,55,33,6,2,1];
  
var max = arr[0];

function findMax( i ){
  if( i == arr.length ) return max;
  if( max < arr[i] ) max = arr[i];
  findMax(i+1);
}
 
findMax(1);
console.log(max);

方法二(使用for循环遍历):

var arr = [9,8,55,66,49,68,109,55,33,6,2,1];  
var max = arr[0];
for(var i = 1; i < arr.length; i++){
  if( max < arr[i] ){
    max = arr[i];
  }
}

console.log(max);

方法三(使用apply将数组传入max方法中直接返回):

Math.max.apply(null,[9,8,55,66,49,68,109,55,33,6,2,1])

备注:除此之外,还有很多数组排序方式,都可以在排序后,根据新数组索引值获取 最大/最小 值。

var a=[1,2,3,5];
alert(Math.max.apply(null, a));//最大值
alert(Math.min.apply(null, a));//最小值

多维数组可以这么修改:

var a=[1,2,3,[5,6],[1,4,8]];
var ta=a.join(",").split(",");//转化为一维数组
alert(Math.max.apply(null,ta));//最大值
alert(Math.min.apply(null,ta));//最小值
Javascript 相关文章推荐
利用js跨页面保存变量做菜单的方法
Jan 17 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
Nov 05 Javascript
php跨域调用json的例子
Nov 13 Javascript
引用其它js时如何同时处理多个window.onload事件
Sep 02 Javascript
node.js中的querystring.parse方法使用说明
Dec 10 Javascript
jQuery回调函数的定义及用法实例
Dec 23 Javascript
js实现圆盘记速表
Aug 03 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
Sep 27 Javascript
AngularJS实践之使用ng-repeat中$index的注意点
Dec 22 Javascript
vue实现提示保存后退出的方法
Mar 15 Javascript
Vue页面骨架屏的实现方法
May 22 Javascript
Vue基于localStorage存储信息代码实例
Nov 16 Javascript
JavaScript常用数组算法小结
Feb 13 #Javascript
Javascript 字符串模板的简单实现
Feb 13 #Javascript
javascript基础知识分享之类与函数化
Feb 13 #Javascript
JavaScript正则表达式的分组匹配详解
Feb 13 #Javascript
js HTML5 Ajax实现文件上传进度条功能
Feb 13 #Javascript
js随机生成26个大小写字母
Feb 12 #Javascript
jquery实现具有嵌套功能的选项卡
Feb 12 #Javascript
You might like
php 多文件上传的实现实例
2016/10/23 PHP
phpStudy配置多站点多域名和多端口的方法
2017/09/01 PHP
Yii框架应用组件用法实例分析
2020/05/15 PHP
Js动态创建div
2008/09/25 Javascript
javascript showModalDialog,open取得父窗口的方法
2010/03/10 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
IE不支持getElementsByClassName最终完美解决方案
2012/12/17 Javascript
实现动画效果核心方式的js代码
2013/09/27 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
jQuery实现滚动切换的tab选项卡效果代码
2015/08/26 Javascript
学习Bootstrap滚动监听 附调用方法
2016/07/02 Javascript
angular.js分页代码的实例
2016/07/27 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
详解js树形控件—zTree使用总结
2016/12/28 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
小程序:授权、登录、session_key、unionId的详解
2019/05/15 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
vue 如何使用递归组件
2020/10/23 Javascript
pandas object格式转float64格式的方法
2018/04/10 Python
python3实现windows下同名进程监控
2018/06/21 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
详解小白之KMP算法及python实现
2019/04/04 Python
python语言基本语句用法总结
2019/06/11 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
django解决订单并发问题【推荐】
2019/07/31 Python
我的大学生活职业生涯规划
2014/01/02 职场文书
迟到检讨书300字
2014/02/14 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
岗位说明书范文
2014/05/07 职场文书
法院答辩状格式
2015/05/22 职场文书
垂直极限观后感
2015/06/08 职场文书
详解Redis瘦身指南
2021/05/26 Redis