JS实现获取数组中最大值或最小值功能示例


Posted in Javascript onMarch 02, 2019

本文实例讲述了JS实现获取数组中最大值或最小值功能。分享给大家供大家参考,具体如下:

方法一:

//最小值
Array.prototype.min = function(){
  var min = this[0];
  var len = this.length;
  for(var i=1; i<len; i++){
    if(this[i] < min){
      min = this[i];
    }
  }
  return min;
}
console.log([55,38,7,19].min());
//最大值
Array.prototype.max = function(){
  var max = this[0];
  var len = this.length;
  for(var i=1; i<len; i++){
    if(this[i] > max){
      max = this[i];
    }
  }
  return max;
}
console.log([55,38,7,19].max());

运行结果:

JS实现获取数组中最大值或最小值功能示例

如果引用了别的类库进行开发,害怕类库也用了同名的原型方法,可以在生成函数之前可以进行重名判断:

if(typeof Array.prototype['max'] == 'undefined'){
  Array.prototype.max = function(){...}
}

方法二:

//最小值
Math.min.apply(Math,arr); //等效于 Math.min.apply({},arr)和Math.min.apply(null,arr);
//原本取得最小值的方法是Math.min(n1,n2,n3...), apply可以改变参数的传入形式,第一个参数是什么都不是很重要
//最大值
var arr = [55,38,7,19];
console.log(Math.max.apply(Math,arr));

运行结果:

JS实现获取数组中最大值或最小值功能示例

多维数组可以先打散为一维数组再做以上处理。

var arr1 = [1,2,3,[5,6],[3,4,8]];
var arr2 = arr1.join(",").split(",");
var a = Math.min.apply(Math,arr2); 
console.log(a);

运行结果:

JS实现获取数组中最大值或最小值功能示例

方法三:

var arr = [55,38,7,19];
function getMaxMin(arr,maxmin){
  if(maxmin === "max"){
    return Math.max.apply(Math,arr);
  }else if(maxmin === "min"){
    return Math.min.apply(Math,arr);
  }
}
var a = getMaxMin(arr,"max");
console.log(a);
var b = getMaxMin(arr,"min");
console.log(b);

运行结果:

JS实现获取数组中最大值或最小值功能示例

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

更多关于JavaScript相关内容还可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript字符与字符串操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
window.location和document.location的区别分析
Dec 23 Javascript
Js从头学起(基本数据类型和引用类型的参数传递详细分析)
Feb 16 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
Jan 31 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
Mar 11 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
Jul 01 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
Jan 11 Javascript
JS回调函数基本定义与用法实例分析
May 24 Javascript
angular实现spa单页面应用实例
Jul 10 Javascript
在Vue methods中调用filters里的过滤器实例
Aug 30 Javascript
JS立即执行函数功能与用法分析
Jan 15 Javascript
微信小程序实现简单文字跑马灯
May 26 Javascript
基于JavaScript实现简单的轮播图
Mar 03 Javascript
JS使用队列对数组排列,基数排序算法示例
Mar 02 #Javascript
VUE引入第三方js包及调用方法讲解
Mar 01 #Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
Mar 01 #Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
Mar 01 #Javascript
Angular7.2.7路由使用初体验
Mar 01 #Javascript
vuex实现及简略解析(小结)
Mar 01 #Javascript
简单两步使用node发送qq邮件的方法
Mar 01 #Javascript
You might like
Php+SqlServer实现分页显示
2006/10/09 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
php jquery 多文件上传简单实例
2013/12/23 PHP
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
2015/02/27 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
jquery实现根据浏览器窗口大小自动缩放图片的方法
2015/07/17 Javascript
jQuery实现带玻璃流光质感的手风琴特效
2015/11/20 Javascript
AngularJs 国际化(I18n/L10n)详解
2016/09/01 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
JS 中使用Promise 实现红绿灯实例代码(demo)
2017/10/20 Javascript
2种在vue项目中使用百度地图的简单方法
2018/09/28 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
微信小程序实现发送验证码按钮效果
2018/12/20 Javascript
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
JavaScript实现HTML导航栏下拉菜单
2020/11/25 Javascript
[00:31]DOTA2上海特级锦标赛 Fnatic战队宣传片
2016/03/04 DOTA
在Python编程过程中用单元测试法调试代码的介绍
2015/04/02 Python
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
2016/06/14 Python
详解将Django部署到Centos7全攻略
2018/09/26 Python
python如何求解两数的最大公约数
2018/09/27 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
Django中间件基础用法详解
2019/07/18 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
h5实现获取用户地理定位的实例代码
2017/07/17 HTML / CSS
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
IGK Hair官网:喷雾、洗发水、护发素等
2020/11/03 全球购物
生物技术毕业生自荐信
2013/10/23 职场文书
大学生村官典型材料
2014/01/12 职场文书
社区中秋节活动方案
2014/01/29 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
民警忠诚教育心得体会
2016/01/23 职场文书
win10截图快捷键win+shift+s没有反应无法截图怎么解决?
2022/08/14 数码科技