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 相关文章推荐
jQuery弹出层插件简化版代码下载
Oct 16 Javascript
JavaScript 事件冒泡简介及应用
Jan 11 Javascript
JS关键字变色实现思路及代码
Feb 21 Javascript
jQuery模拟超链接点击效果代码
Apr 21 Javascript
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
Apr 24 Javascript
jQuery判断密码强度实现思路及代码
Apr 24 Javascript
JavaScript运行时库属性一览表
Mar 14 Javascript
jquery判断类型是不是number类型的实例代码
Oct 07 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
Oct 08 Javascript
js实现打地鼠小游戏
Feb 13 Javascript
three.js 将图片马赛克化的示例代码
Jul 31 Javascript
jQuery ajax - getScript() 方法和getJSON方法
May 14 jQuery
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
回首过去10年中最搞笑的10部动漫,哪一部让你节操尽碎?
2020/03/03 日漫
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
php使用ffmpeg获取视频信息并截图的实现方法
2016/05/03 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
2016/09/21 PHP
tp5实现微信小程序多图片上传到服务器功能
2018/07/16 PHP
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
Ruffy javascript 学习笔记
2009/11/30 Javascript
为开发者准备的10款最好的jQuery日历插件
2014/02/04 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
jquery datatable后台封装数据示例代码
2014/08/07 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
Node接收电子邮件的实例代码
2017/07/21 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
vue多层嵌套路由实例分析
2019/03/19 Javascript
浅谈目前可以使用ES10的5个新特性
2019/06/25 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
pytyon 带有重复的全排列
2013/08/13 Python
python删除过期文件的方法
2015/05/29 Python
django 删除数据库表后重新同步的方法
2018/05/27 Python
TensorFlow利用saver保存和提取参数的实例
2018/07/26 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
2018/10/29 Python
pycharm 取消默认的右击运行unittest的方法
2018/11/29 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
复古服装:RetroStage
2019/05/10 全球购物
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
UNIX文件名称有什么规定
2013/03/25 面试题
以幸福为主题的活动方案
2014/08/22 职场文书
护士医德医风自我评价
2014/09/15 职场文书
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python
Golang数据类型和相互转换
2022/04/12 Golang