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+css在交互上的应用
Jul 18 Javascript
理解Javascript_13_执行模型详解
Oct 20 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
Nov 13 Javascript
BootStrap Fileinput的使用教程
Dec 30 Javascript
js的OOP继承实现(必看篇)
Feb 18 Javascript
微信小程序 chooseImage选择图片或者拍照
Apr 07 Javascript
利用纯JS实现像素逐渐显示的方法示例
Aug 14 Javascript
vue组件初学_弹射小球(实例讲解)
Sep 06 Javascript
小程序自定义单页面、全局导航栏的实现代码
Mar 15 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
Apr 17 Javascript
JS加载解析Markdown文档过程详解
May 19 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
Oct 22 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
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
10分钟掌握XML、JSON及其解析
2020/12/06 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
Vuex之理解Getters的用法实例
2017/04/19 Javascript
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
原生js二级联动效果
2017/06/20 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
[40:12]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Django在win10下的安装并创建工程
2017/11/20 Python
对python 命令的-u参数详解
2018/12/03 Python
python提取log文件内容并画出图表
2019/07/08 Python
python之array赋值技巧分享
2019/11/28 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
2020/03/12 Python
如何使用pycharm连接Databricks的步骤详解
2020/09/23 Python
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
教育孩子心得体会
2014/01/01 职场文书
八年级音乐教学反思
2014/01/09 职场文书
股东合作协议书
2014/04/14 职场文书
春季防火方案
2014/05/10 职场文书
自我推荐信格式模板
2015/03/24 职场文书
风之谷观后感
2015/06/11 职场文书
汤姆索亚历险记读书笔记
2015/06/29 职场文书
使用RedisTemplat实现简单的分布式锁
2021/11/20 Redis
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏