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 相关文章推荐
层序遍历在ExtJs的TreePanel中的应用
Oct 16 Javascript
JSON 教程 json入门学习笔记
Sep 22 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
Oct 17 Javascript
js实现图片上传并正常显示
Dec 19 Javascript
javascript中的3种继承实现方法
Jan 27 Javascript
vue使用stompjs实现mqtt消息推送通知
Jun 22 Javascript
Js面试算法详解
Apr 08 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
Jul 23 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
Feb 22 Javascript
layui复选框的全选与取消实现方法
Sep 02 Javascript
JS函数本身的作用域实例分析
Mar 16 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
Apr 26 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 fseek函数读取大文件两种方法
2016/10/12 PHP
基于PHP实现微信小程序客服消息功能
2019/08/12 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
javascript获取函数名称、函数参数、对象属性名称的代码实例
2014/04/12 Javascript
采用call方式实现js继承
2014/05/20 Javascript
Node.js中的缓冲与流模块详细介绍
2015/02/11 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
2016/05/11 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
JS实现div模块的截图并下载功能
2017/10/17 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
vue实现裁切图片同时实现放大、缩小、旋转功能
2018/03/02 Javascript
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
2018/07/31 NodeJs
对layui中表单元素的使用详解
2018/08/15 Javascript
微信小程序日历效果
2018/12/29 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
Postman动态获取返回值过程详解
2020/06/30 Javascript
Python的Django框架中的Context使用
2015/07/15 Python
Python ftp上传文件
2016/02/13 Python
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
win10 64bit下python NLTK安装教程
2018/09/19 Python
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
对python中list的拷贝与numpy的array的拷贝详解
2019/01/29 Python
django 模型字段设置默认值代码
2020/07/15 Python
一文详述 Python 中的 property 语法
2020/09/01 Python
美国最大的宠物药店:1-800-PetMeds
2016/10/02 全球购物
教师党员承诺书
2014/03/25 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书
推销搭讪开场白
2015/05/28 职场文书
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技