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代码
May 03 Javascript
关于JavaScript的面向对象和继承有利新手学习
Jan 11 Javascript
5分钟理解JavaScript中this用法分享
Nov 09 Javascript
JavaScript对IE操作的经典代码(推荐)
Mar 10 Javascript
jQuery中index()的用法分析
Sep 05 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
Feb 05 Javascript
jQuery实现动态添加和删除一个div
Aug 12 Javascript
分享使用AngularJS创建应用的5个框架
Dec 05 Javascript
详解vue+vueRouter+webpack的简单实例
Jun 17 Javascript
layui中的switch开关实现方法
Sep 03 Javascript
vue 手机物理监听键+退出提示代码
Sep 09 Javascript
一起深入理解js中的事件对象
Feb 06 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 ZipArchive压缩函数详解实例
2013/11/06 PHP
ThinkPHP之R方法实例详解
2014/06/20 PHP
PHP内置过滤器FILTER使用实例
2014/06/25 PHP
php设计模式之单例模式代码
2016/06/11 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
用js统计用户下载网页所需时间的脚本
2008/10/15 Javascript
页面中iframe相互传值传参
2009/12/13 Javascript
JavaScript动态创建div属性和样式示例代码
2013/10/09 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
2014/02/19 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
JavaScript中子对象访问父对象的方式详解
2016/09/01 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
loading动画特效小结
2017/01/22 Javascript
thinkjs之页面跳转同步异步操作
2017/02/05 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
微信小程序实现弹出菜单
2018/07/19 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
VUE实现可随意拖动的弹窗组件
2018/09/25 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
Vue3.0数据响应式原理详解
2019/10/09 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
vue打开其他项目页面并传入数据详解
2020/11/25 Vue.js
Python解惑之True和False详解
2017/04/24 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
python mysql自增字段AUTO_INCREMENT值的修改方式
2020/05/18 Python
Bootstrap 学习分享
2012/11/12 HTML / CSS
护士实习求职信
2014/06/22 职场文书
搞笑老公保证书
2015/02/26 职场文书
学校捐书倡议书
2015/04/27 职场文书
普通员工辞职信范文
2015/05/12 职场文书
代码解析React中setState同步和异步问题
2021/06/03 Javascript
html5调用摄像头实例代码
2021/06/28 HTML / CSS
使用python求解迷宫问题的三种实现方法
2022/03/17 Python