JavaScript获取数组中最大(最小)值
来源:互联网 发布:四川广电网络投诉电话 编辑:程序博客网 时间:2024/06/06 21:31
思路:
- 将数组第一个元素当做最大(最小)值,存入变量;
- 遍历数组,依次与此变量比较,若大于(小于)变量,将此元素当做最大(最小)值存入变量;
- 返回此变量;
var arr = [1, 45, 23, 3, 6, 2, 7, 234, 56];
//最大值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;}//最小值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(arr.max()); //234console.log(arr.min()); //1
用forEach()方法改写上面的代码:(for循环性能要比forEach()差)
Array.prototype.max = function (){ var max = this[0]; this.forEach (function(ele,index,arr){ if(ele > max) { max = ele; } }) return max;}Array.prototype.min = function (){ var min = this[0]; this.forEach (function(ele,index,arr){ if(ele < min) { min = ele; } }) return min;}
用reduce()方法改写上面的代码:
reduce()方法可以接收一个回调函数callbackfn,可以在这个回调函数中拿数组中的初始值(preValue)与数组中当前被处理的数组项(curValue)做比较,如果preValue大于curValue值返回preValue,反之返回curValue值
Array.prototype.max = function() { return this.reduce(function(preValue, curValue,index,array) { return preValue < curValue ? curValue : preValue; })}Array.prototype.min = function() { return this.reduce(function(preValue, curValue,index,array) { return preValue > curValue ? curValue : preValue; })}
用Math 对象的Math.max()和Math.min()方法:
Array.prototype.max = function () { return Math.max.apply({},this);}Array.prototype.min = function () { return Math.min.apply({},this);}
(完)
阅读全文
0 0
- JavaScript获取数组中最大(最小)值
- 获取数组中最大的值
- 获取数组中最大元素的值
- javascript 返回数组中 最大 最小 平均值多种方法分析比较 by FungLeo
- JavaScript获取数组最小两项之和
- 16.java语言基础-获取数组最大和最小元素
- PHP 获取数组值中最大的数据
- 获取数组中最大最小值方法(一)
- 数组的最大最小topk值
- 数组最大最小方法(二)
- 寻找数组N中最大(最小的)M个数(亲自调试可运行)
- 统计数组中差最小(或最大)的组合可能个数
- 找出数组中最大最小数(用指针)
- 使用堆栈 取数组中最小(最大)的n个数
- 选择数组中最大或者最小的两个数
- 从数组中找出最大的和最小的数
- 分治算法_求数组中最大最小整数
- 交换一维数组中最大、最小元素
- C语言排序算法的演示
- linux 删除文件 磁盘空间未释放
- Laravel设置器修改器
- 使用wordpress创建多站点
- SQL SERVER不能修改表的解决方法(增加字段、修改字段名)
- JavaScript获取数组中最大(最小)值
- shell学习笔记二
- React Native安卓微信分享集成
- linux下查看文件编码及修改编码
- Hadoop完全伪分布式搭建
- Android 系统 Settings 启动流程详解
- SpringSecurity学习【命名空间初体验】
- Looper源码细说
- 责任链模式