获取数组最大值--4种方法

var ary=[23,34,24,12,36,14,25,30];

1、数组排序法:

给数组进行排序(小-->大),第一个和最后一个即为所要的最大值和最小值:

ary.sort(function(a,b){
     return a-b;
});
var max=ary[ary.length-1];
var min=ary[0];

2、假设法:

假设当前数组中的第一个值是最大值,然后拿这个值和后面的项逐一进行比较,如果后面某一个值比假设的还要大,说明假设错了,把假设的值进行替换

var max=ary[0],min=ary[0];
for(var i=1;i<ary.length;i++){
       var cur=ary[i];
       cur>max?max=cur:null;
       cur<min?min=cur:null;
}

3、拼接字符串方法:
var max=eval("Math.max("+ary.toString()+")");

首先不管其他的,先把最后要执行的代码都变为字符串,然后把数组中的每一项的值分别的拼接到这个字符串中。之后再eval()执行(eval:把字符串转换为JS可执行代码)

注意:
a、直接Math.max([23,34,24,12,36,14,25,30])的话输出是NaN,因为Math.max()在执行的时候把需要比较的那堆数一个个传递进来,才可以得到结果,一下放一个ary数组是不行的

b、直接eval("23,34,24,12,36,14,25,30")也不行,只获取到了最后一项值

4、用apply:

var max=Math.max.apply(null,ary);
 var min=Math.min.apply(null,ary);

apply传参是传一个数组,但相当于一个个传进来的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,281评论 0 4
  • * 基础知识 * js的输出方式 * js的组成 * js的命名规范 * 数据类型 * number数据类型 * ...
    web前端ling阅读 1,079评论 0 2
  • 常用win + r 打开运行。输入bash可以打开bash(若有开启bash) win + 方向键 快捷切换窗口大...
    iamsea阅读 291评论 0 0
  • 小时候,爸妈搀扶着我们蹒跚学步,我们长大了,爸妈却老了,需要我们搀扶着他们蹒跚迈步的时候,我们却在远方苟且。 这几...
    mikoWoo1阅读 2,478评论 4 3
  • 一直想写的文章,想着再不把从前关于外婆的记忆记下来恐怕以后是要忘记了。 外婆从小到大都很“惜”我们,潮汕话“惜”意...
    林基树阅读 407评论 0 0