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 相关文章推荐
框架页面高度自动刷新的Javascript脚本
Nov 01 Javascript
js获取鼠标点击的位置实现思路及代码
May 09 Javascript
javascript模拟post提交隐藏地址栏的参数
Sep 03 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
Nov 29 Javascript
基于javascript实现tab选项卡切换特效调试笔记
Mar 30 Javascript
jQuery鼠标悬停内容动画切换效果
Apr 27 jQuery
zTree树形插件异步加载方法详解
Jun 14 Javascript
Angular 4.X开发实践中的踩坑小结
Jul 04 Javascript
AngualrJs清除定时器遇到的坑
Oct 13 Javascript
Vue的事件响应式进度条组件实例详解
Feb 04 Javascript
vue.js提交按钮时进行简单的if判断表达式详解
Aug 08 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
Aug 11 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里得到前天和昨天的日期的代码
2007/08/16 PHP
深入PHP异步执行的详解
2013/06/03 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
利用PHP如何写APP接口详解
2016/08/23 PHP
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
2011/11/21 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
JavaScript实现找出数组中最长的连续数字序列
2014/09/03 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
docker中编译nodejs并使用nginx启动
2017/06/23 NodeJs
JS判断Android、iOS或浏览器的多种方法(四种方法)
2017/06/29 Javascript
JS基于贪心算法解决背包问题示例
2017/11/27 Javascript
利用ES6实现单例模式及其应用详解
2017/12/09 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
解决vue一个页面中复用同一个echarts组件的问题
2020/07/19 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
2020/11/02 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
python2.x实现人民币转大写人民币
2018/06/20 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
python mysql中in参数化说明
2020/06/05 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
Python如何测试stdout输出
2020/08/10 Python
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
鲜果饮品店创业计划书
2014/01/21 职场文书
无故旷工检讨书
2014/01/26 职场文书
《小池塘》教学反思
2014/02/28 职场文书
慈善晚会策划方案
2014/05/14 职场文书
解除劳动合同协议书
2014/09/17 职场文书
科技活动周标语
2014/10/08 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
煤矿安全生产工作总结
2015/08/13 职场文书
Jsonp劫持学习
2021/04/01 PHP
JavaScript文档对象模型DOM
2021/11/20 Javascript
PYTHON InceptionV3模型的复现详解
2022/05/06 Python