美文网首页
求数组中最大值和最小值的方法汇总

求数组中最大值和最小值的方法汇总

作者: 鱼玄机_vin | 来源:发表于2017-03-07 00:35 被阅读0次

比较数组中数值的大小是比较常见的操作,比较大小的方法有多种,比如可以使用自带的sort()函数,下面来介绍如下几种方法,代码如下:

方法一:

//最小值

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;

}

//最大值

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;

}

如果你是引入类库进行开发,害怕类库也实现了同名的原型方法,可以在生成函数之前进行重名判断:

if (typeof Array.prototype['max'] == 'undefined') {

Array.prototype.max = function() {

... ...

}

}

方法二:

用Math.max和Math.min方法可以迅速得到结果。apply能让一个方法指定调用对象与传入参数,并且传入参数是以数组形式组织的。恰恰现在有一个方法叫Math.max,调用对象为Math,与多个参数

Array.max = function( array ){

return Math.max.apply( Math, array );

};

Array.min = function( array ){

return Math.min.apply( Math, array );

};

但是,John Resig是把它们做成Math对象的静态方法,不能使用大神最爱用的链式调用了。但这方法还能更精简一些,不要忘记,Math对象也是一个对象,我们用对象的字面量来写,又可以省几个比特了。

Array.prototype.max = function(){

return Math.max.apply({},this)

}

Array.prototype.min = function(){

return Math.min.apply({},this)

}

[1,2,3].max()// => 3

[1,2,3].min()// => 1

方法三:

function getMaximin(arr,maximin)

{

if(maximin=="max")

{

return Math.max.apply(Math,arr);

}

else if(maximin=="min")

{

return Math.min.apply(Math, arr);

}

}

var a=[3,2,4,2,10];

var b=[12,4,45,786,9,78];

console.log(getMaximin(a,"max"));//10

console.log(getMaximin(b,"min"));//04

方法四:

var a=[1,2,3,5];

alert(Math.max.apply(null, a));//最大值

alert(Math.min.apply(null, a));//最小值

多维数组可以这么修改:

var a=[1,2,3,[5,6],[1,4,8]];

var ta=a.join(",").split(",");//转化为一维数组

alert(Math.max.apply(null,ta));//最大值

alert(Math.min.apply(null,ta));//最小值

相关文章

  • jsday02

    数组 数组求最大值 数组求最小值 数组拼接成字符串 反转数组 冒泡排序 阻止链接跳转 数组的一些方法

  • function

    求任意数组的最大值 求任意数组的最小值 //求任意范围数字和 求任意数字的总和 // type 检测参数数据类型...

  • python:numpy数组常用的统计函数

    数据准备: 求和 求均值 求中值 求最大值和最小值 求极值(最大值和最小值之差)、 6、标准差

  • 子数组最大和最小值的差大等小于给定值(h1:1.1)

    给定数组arr和整数num,求arr的连续子数组中满足:其最大值减去最小值的结果大于num的个数。 大于   这是...

  • 线性表最值问题

    找最小值 找最大值 顺序表求最大值 顺序表求最小值 带头结点单链表求最大值 带头结点单链表求最小值 q是 最大值/...

  • 2019-05-14

    日志文本筛选-sort awk 求最大值: 求最小值: 求和: 求平均值: 求最大值 求最大值 求最小值 中位数

  • 元月26日

    噼里啪啦一顿神操作,去除最大值和最小值然后求平均值的函数出现了, 用到了数组的forEach方法,sort方法,p...

  • js笔记四十获取数组中的最大值和最小值(四种方法)

    获取数组中最大值和最小值 给数组进行排序(小->大), 第一个和最后一个就是最小值和最大值 使用Math中的max...

  • 找出数组中的最大值最小值,最小值必须在最大值前面

    给一个数组,找出数组中的最大值最小值,最小值必须在最大值前面,也就是说最小值的下标必须比最大值的下标小。 要求时间...

  • 数组的应用--最值问题

    查找数组中的最大值、最小值: 打印结果:

网友评论

      本文标题:求数组中最大值和最小值的方法汇总

      本文链接:https://www.haomeiwen.com/subject/qwlduttx.html