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 相关文章推荐
nodeType属性返回被选节点的节点类型介绍
Nov 22 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
Jan 14 Javascript
JS中的log对象获取以及debug的写法介绍
Mar 03 Javascript
浅析Node在构建超媒体API中的作用
Jul 30 Javascript
JavaScript中使用document.write向页面输出内容实例
Oct 16 Javascript
使用jQueryMobile实现滑动翻页效果的方法
Feb 04 Javascript
text-align:justify实现文本两端对齐 兼容IE
Aug 19 Javascript
vue的Virtual Dom实现snabbdom解密
May 03 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
Jul 23 Javascript
移动端手指操控左右滑动的菜单
Sep 08 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
Oct 20 Javascript
详解JavaScript的计时器和按钮效果设置
Feb 18 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扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
php+mysql实现简单登录注册修改密码网页
2016/11/30 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
一个用js实现控制台控件的代码
2007/09/04 Javascript
window.open()详解及浏览器兼容性问题示例探讨
2014/05/29 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
2015/12/09 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
js动态获取子复选项并设计全选及提交的实现方法
2016/06/24 Javascript
读Javascript高性能编程重点笔记
2016/12/21 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
js数组常用最重要的方法
2018/02/04 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
详解Vue 单文件组件的三种写法
2020/02/19 Javascript
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
tornado框架blog模块分析与使用
2013/11/21 Python
初步讲解Python中的元组概念
2015/05/21 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
Python中join函数简单代码示例
2018/01/09 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
解决python文件双击运行秒退的问题
2019/06/24 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
logging level级别介绍
2020/02/21 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
移动端Html5中百度地图的点击事件
2019/01/31 HTML / CSS
canvas实现滑动验证的实现示例
2020/08/11 HTML / CSS
美国购物网站:Clickhere2shop
2021/01/28 全球购物
员工自我鉴定范文
2013/10/06 职场文书
优秀少先队员主要事迹材料
2014/05/28 职场文书
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
课外活动总结
2015/02/04 职场文书