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 相关文章推荐
关于IE BUG与字符串截取substr的解决办法
Apr 10 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
May 06 Javascript
js中的this关键字详解
Sep 25 Javascript
js的onload事件及初始化按钮事件示例代码
Sep 25 Javascript
详解JavaScript中数组的相关知识
Jul 29 Javascript
基于jQuery日历插件制作日历
Mar 11 Javascript
Javascript基础_简单比较undefined和null 值
Jun 14 Javascript
Angular的事件和表单详解
Dec 26 Javascript
js实现简单数字变动效果
Nov 06 Javascript
详解VSCode配置启动Vue项目
May 14 Javascript
关于layui时间回显问题的解决方法
Sep 24 Javascript
Javascript新手入门之字符串拼接与变量的应用
Dec 03 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 中的类
2006/10/09 PHP
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
PHP面向对象程序设计之接口用法
2014/08/20 PHP
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
2013/04/26 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
详解JavaScript中this关键字的用法
2016/05/26 Javascript
浅析BootStrap Treeview的简单使用
2016/10/12 Javascript
JavaScript手风琴页面制作
2017/05/17 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
浅谈Vue数据响应
2018/11/05 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
Vue 禁用浏览器的前进后退操作
2020/09/04 Javascript
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
python使用Tkinter显示网络图片的方法
2015/04/24 Python
python基于xmlrpc实现二进制文件传输的方法
2015/06/02 Python
python下读取公私钥做加解密实例详解
2017/03/29 Python
Python爬取十篇新闻统计TF-IDF
2018/01/03 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
python图片二值化提高识别率代码实例
2019/08/24 Python
在python中修改.properties文件的操作
2020/04/08 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
Monki官网:斯堪的纳维亚的独立时尚品牌
2020/11/09 全球购物
物业管理大学生个人的自我评价
2013/10/10 职场文书
婚前协议书
2014/04/15 职场文书
真诚的求职信
2014/07/04 职场文书
私人委托书格式
2014/09/10 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
四年级学生期末评语
2014/12/26 职场文书
羊脂球读书笔记
2015/06/30 职场文书
欠条样本
2015/07/03 职场文书
大队委员竞选演讲稿
2015/11/20 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书