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 html() in Firefox (uses .innerHTML) ignores DOM changes
Mar 05 Javascript
jquery监控数据是否变化(修正版)
Apr 12 Javascript
JavaScript整除运算函数ceil和floor的区别分析
Apr 14 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
Aug 15 Javascript
js表单登陆验证示例
Oct 19 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
Jan 17 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
Jun 09 jQuery
详解JS模块导入导出
Dec 20 Javascript
使用JavaScript破解web
Sep 28 Javascript
Vue 使用Props属性实现父子组件的动态传值详解
Nov 13 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
Mar 16 Javascript
深入了解Vue动态组件和异步组件
Jan 26 Vue.js
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
解决phpmyadmin中文乱码问题。。。
2007/01/18 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
教你如何开启shopnc b2b2c 伪静态
2014/10/21 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
PHP7 echo和print语句实例用法
2019/02/15 PHP
根据表格中的某一列进行排序的javascript代码
2013/11/29 Javascript
在jquery中combobox多选的不兼容问题总结
2013/12/24 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
jQuery监听文件上传实现进度条效果的方法
2016/10/16 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
2017/08/14 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
Python中列表与元组的乘法操作示例
2018/02/10 Python
python批量赋值操作实例
2018/10/22 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
Python 实现文件打包、上传与校验的方法
2019/02/13 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
环境工程专业个人求职信
2013/12/05 职场文书
师范教师毕业鉴定
2014/01/13 职场文书
俄罗斯商务邀请函
2014/01/26 职场文书
贺卡寄语大全
2014/04/11 职场文书
自强之星事迹材料
2014/05/12 职场文书
技术比武方案
2014/05/19 职场文书
优秀实习生主要事迹
2014/05/29 职场文书
会计专业自荐书
2014/07/08 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
三十年同学聚会感言
2015/07/30 职场文书
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL
使用Python脚本对GiteePages进行一键部署的使用说明
2021/05/27 Python
浅谈redis整数集为什么不能降级
2021/07/25 Redis
使用python求解迷宫问题的三种实现方法
2022/03/17 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
2022/04/21 Python