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 相关文章推荐
SUN的《AJAX与J2EE》全文译了
Feb 23 Javascript
Document 对象的常用方法
Jul 31 Javascript
node.js中的url.resolve方法使用说明
Dec 10 Javascript
jQuery插件Timelinr 实现时间轴特效
Oct 04 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
Sep 06 Javascript
Angularjs 制作购物车功能实例代码
Sep 14 Javascript
Vue.js鼠标悬浮更换图片功能
May 17 Javascript
jQuery 利用ztree实现树形表格的实例代码
Sep 27 jQuery
vuex 项目结构目录及一些简单配置介绍
Apr 08 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
Nov 30 Javascript
详解vue开发中调用微信jssdk的问题
Apr 16 Javascript
JS中实现一个下载进度条及播放进度条的代码
Jun 10 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模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
经典PHP加密解密函数Authcode()修复版代码
2015/04/05 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
在js(jquery)中获得文本框焦点和失去焦点的方法
2012/12/04 Javascript
js调试工具console.log()方法查看js代码的执行情况
2014/08/08 Javascript
js 动态修改css文件用到了cssRule
2014/08/20 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
JavaScript制作颜色反转小游戏
2016/09/25 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
关于vue项目中搜索节流的实现代码
2019/09/17 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
2020/10/26 Javascript
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
Python获取脚本所在目录的正确方法
2014/04/15 Python
Python实现文件信息进行合并实例代码
2018/01/17 Python
Python中的 enum 模块源码详析
2019/01/09 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
CSS3实现多重边框的方法总结
2016/05/31 HTML / CSS
SportsDirect.com马来西亚:英国第一体育零售商
2018/11/21 全球购物
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
荷兰天然和有机产品网上商城:BigGreenSmile.nl
2020/07/26 全球购物
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
LINUX下线程,GDI类的解释
2012/04/17 面试题
怎样写好自荐信和推荐信
2013/12/26 职场文书
中学生获奖感言
2014/02/04 职场文书
2015年健康教育工作总结
2015/04/10 职场文书
党员带头倡议书
2015/04/29 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
六年级作文之家庭作文
2019/12/12 职场文书