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 相关文章推荐
input禁止键盘及中文输入,但可以点击
Feb 13 Javascript
JavaScript中的console.log()函数详细介绍
Dec 29 Javascript
javascript去掉代码里面的注释
Jul 24 Javascript
AngularJS入门教程之多视图切换用法示例
Nov 02 Javascript
vue表单绑定实现多选框和下拉列表的实例
Aug 12 Javascript
微信小程序之页面拦截器的示例代码
Sep 07 Javascript
浅谈微信页面入口文件被缓存解决方案
Sep 29 Javascript
Node.js+ELK日志规范的实现
May 23 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
Oct 25 Javascript
layui 解决富文本框form表单提交为空的问题
Oct 26 Javascript
JavaScript文档加载模式以及元素获取
Jul 28 Javascript
js实现弹幕墙效果
Dec 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 中文乱码解决办法总结分析
2009/07/30 PHP
深入PHP magic quotes的详解
2013/06/17 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
php将一维数组转换为每3个连续值组成的二维数组
2016/05/06 PHP
php mysql 封装类实例代码
2016/09/18 PHP
PHP排序二叉树基本功能实现方法示例
2018/05/26 PHP
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
16个最流行的JavaScript框架[推荐]
2011/05/29 Javascript
JavaScript prototype属性深入介绍
2012/11/27 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
2013/08/05 Javascript
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
Node.js中使用socket创建私聊和公聊聊天室
2015/11/19 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
jQuery页面弹出框实现文件上传
2017/02/09 Javascript
VueJS事件处理器v-on的使用方法
2017/09/27 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
基于vue写一个全局Message组件的实现
2019/08/15 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
[04:29]2016国际邀请赛中国区预选赛Ehome战队教练采访
2016/06/27 DOTA
在Python中的Django框架中进行字符串翻译
2015/07/27 Python
python+opencv实现动态物体识别
2018/01/09 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
洲际酒店集团大中华区:IHG中国
2016/08/17 全球购物
西班牙网上书店:Casa del Libro
2016/11/01 全球购物
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
机械设计职业生涯规划书
2013/12/27 职场文书
“学雷锋活动月”总结
2014/03/09 职场文书
房地产推广策划方案
2014/05/19 职场文书
安全生产承诺书范文
2014/05/22 职场文书
2015年端午节活动总结
2015/02/11 职场文书
实习指导老师意见
2015/06/04 职场文书
军事博物馆观后感
2015/06/05 职场文书
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL