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 相关文章推荐
chrome原生方法之数组
Nov 30 Javascript
3款实用的在线JS代码工具(国外)
Mar 15 Javascript
原生js实现fadein 和 fadeout淡入淡出效果
Jun 05 Javascript
web前端开发JQuery常用实例代码片段(50个)
Aug 28 Javascript
jquery easyUI中ajax异步校验用户名
Aug 19 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
Sep 28 Javascript
vue.js 获取select中的value实例
Mar 01 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
Jun 10 Javascript
jQuery表单选择器用法详解
Aug 22 jQuery
layui 实现table翻页滚动条位置保持不变的例子
Sep 05 Javascript
Layui数据表格跳转到指定页的实现方法
Sep 05 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
Oct 24 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
叶罗丽:为什么大家对颜冰这对CP非常关心,却对金茉两人十分冷漠
2020/03/17 国漫
目录,文件操作详谈―PHP
2006/11/25 PHP
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
快速解决jquery之get缓存问题的最简单方法介绍
2013/12/19 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
基于jquery的simpleValidate简易验证插件
2014/01/31 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
AngularJS constant和value区别详解
2017/02/28 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
2018/01/24 Javascript
jQuery中$原理实例分析
2018/08/13 jQuery
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
Node.js API详解之 module模块用法实例分析
2020/05/13 Javascript
js+cavans实现图片滑块验证
2020/09/29 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
python实现simhash算法实例
2014/04/25 Python
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
如何利用Fabric自动化你的任务
2016/10/20 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
2018/01/26 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
浅谈python编译pyc工程--导包问题解决
2019/03/20 Python
Python Print实现在输出中插入变量的例子
2019/12/25 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
环境科学专业研究生求职信
2013/10/02 职场文书
技术总监个人的自我评价范文
2013/12/18 职场文书
反腐倡廉标语
2014/06/24 职场文书
李强优秀员工观后感
2015/06/16 职场文书
会议简讯范文
2015/07/20 职场文书
客户答谢会致辞
2015/07/30 职场文书
2019广播稿怎么写
2019/04/17 职场文书
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android