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 load加载页面到div时,不执行页面js的问题
Feb 22 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
Nov 15 Javascript
jQuery复制节点用法示例(clone方法)
Sep 08 Javascript
js基础之DOM中元素对象的属性方法详解
Oct 28 Javascript
微信小程序 支付功能开发错误总结
Feb 21 Javascript
vue.js指令和组件详细介绍及实例
Apr 06 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
Jul 14 Javascript
JS使用正则表达式找出最长连续子串长度
Oct 26 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
Nov 24 Javascript
在iFrame子页面里实现模态框的方法
Aug 17 Javascript
vue集成chart.js的实现方法
Aug 20 Javascript
Vue.js中Line第三方登录api的实现代码
Jun 29 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
如何冲泡挂耳包咖啡?技巧是什么
2021/03/04 冲泡冲煮
PHP的加密方式及原理
2012/06/14 PHP
PHP 数组和字符串互相转换实现方法
2013/03/26 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
PHP5各个版本的新功能和新特性总结
2014/03/16 PHP
ThinkPHP里用U方法调用js文件实例
2015/06/18 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
Javascript实例教程(19) 使用HoTMetal(3)
2006/12/23 Javascript
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
js中符号转意问题示例探讨
2013/08/19 Javascript
javascript实现des解密加密全过程
2014/04/03 Javascript
js中window.open打开一个新的页面
2014/08/10 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
js改变html的原有内容实现方法
2016/10/05 Javascript
详解.vue文件解析的实现
2018/06/11 Javascript
VUE写一个简单的表格实例
2019/08/06 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Python中方法链的使用方法
2016/02/23 Python
使用python写的opencv实时监测和解析二维码和条形码
2019/08/14 Python
python 变量初始化空列表的例子
2019/11/28 Python
Python列表切片常用操作实例解析
2019/12/16 Python
Python实现播放和录制声音的功能
2020/08/12 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
电子信息毕业生自荐信
2013/11/16 职场文书
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
小城镇建设汇报材料
2014/08/16 职场文书
办公室年度工作总结2015
2015/05/21 职场文书
CSS完成视差滚动效果
2021/04/27 HTML / CSS
centos环境下nginx高可用集群的搭建指南
2022/07/23 Servers