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 相关文章推荐
关于文本限制字数的js代码
Apr 02 Javascript
不能再简单的无闪刷新验证码原理很简单
Nov 05 Javascript
使用js正则控制input标签只允许输入的值
Jul 29 Javascript
jQuery给多个不同元素添加class样式的方法
Mar 26 Javascript
JS获取网页图片name属性的方法
Apr 01 Javascript
javascript生成大小写字母
Jul 03 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
May 20 Javascript
BootStrap的Datepicker控件使用心得分享
May 25 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
Jun 24 Javascript
JS实现数组的增删改查操作示例
Aug 29 Javascript
详解使用jest对vue项目进行单元测试
Sep 07 Javascript
Vue循环中多个input绑定指定v-model实例
Aug 31 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中使用PDF文档功能
2006/10/09 PHP
PHP之短标签开启设置
2013/06/17 PHP
PHP Swoole异步读取、写入文件操作示例
2019/10/24 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
js使用心得分享
2015/01/13 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
JavaScript树的深度优先遍历和广度优先遍历算法示例
2018/07/30 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
python zip文件 压缩
2008/12/24 Python
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
2009/04/09 Python
python避免死锁方法实例分析
2015/06/04 Python
关于python的list相关知识(推荐)
2017/08/30 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
2020/01/10 Python
使用python的turtle函数绘制一个滑稽表情
2020/02/28 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
哈萨克斯坦移动和数字技术在线商店:SatelOnline.kz
2020/09/04 全球购物
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
2014年入党积极分子党课学习心得体会模板
2014/04/03 职场文书
乡镇党建工作总结2015
2015/05/19 职场文书
实习证明模板
2015/06/16 职场文书
2015年中学团委工作总结
2015/07/22 职场文书
Python可视化动图组件ipyvizzu绘制惊艳的可视化动图
2022/04/21 Python
浅谈Node的内存泄露问题
2022/05/06 NodeJs