Math.max(param1,param2) 因为参数不支持数组。 
所以可以根据apply的特点来解决, 
var max = Math.max.apply(null,array),这样就可以轻易的得到一个数组中最大的一项

注:在调用apply的时候第一个参数给了一个null,这个是因为没有对象去调用这个方法,我们只需要用这个方法帮我们运算,得到返回的结果就行,所以就直接传递了一个null过去。

拓展:

1.call()与apply()

区分apply,call就一句话: 
foo.call(this, arg1,arg2,arg3) == foo.apply(this, arguments)==this.foo(arg1, arg2, arg3) 
call, apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例,也就是每个方法都有call, apply属性.既然作为方法的属性,那它们的使用就当然是针对方法的了.

这两个方法是容易混淆的,因为它们的作用一样,只是使用方式不同.

a.functionname.apply(b,arr);
a.functionname.call(b,arg1,arg2……);

call, apply方法区别是,从第二个参数起, call方法参数将依次传递给借用的方法作参数, 而apply直接将这些参数放到一个数组中再传递, 最后借用方法的参数列表是一样的.

        /*
* apply方法:
* 语法:apply(thisObj,[argArray])
* 定义:应用某一对象的一个方法,用另一个对象替换当前对象。
*/
//定义一个人类
function Person(name,age){
this.name = name;
this.age = age;
} //定义一个学生类
function Student(name,age,grade){
Person.apply(this,arguments);
//或者
Person.call(this,name,age)
this.grade = grade;
} var student = new Student("dqf","20","一年级");
console.info("name:"+student.name+"\n"+"age:"+student.age+"\n"+"grade:"+student.grade);

es6中Math对象的拓展:

1、Math.trunc()

该方法用于取出一个小数的小数部分,返回整数部分。

Math.trunc(1.234);  //
Math.trunc(-2.34141); //-2
Math.trunc(3.9); //
//对于非数值,Math.trunc会内部使用Number将其转为数值
Math.trunc("12.87656"); //
//对于空值和无法截取整数的值,返回NaN
Math.trunc("a"); //NaN
Math.trunc(); //NaN
Math.trunc(NaN); //NaN

2、Math.sign()

该方法用来判断一个数到底是正数,负数,还是0。有五中返回值。

Math.sign(23.235);  //
Math.sign(25); //
Math.sign(0); //
Math.sign(0.0); //
Math.sign(-0.0); //-0
Math.sign(-0); //-0
Math.sign(-2); //-1
Math.sign(-2.983958); //-1
Math.sign('a'); //NaN
Math.sign(); //NaN
Math.sign(NaN); //NaN

参数为正数时,返回1;

参数为0时,返回0;

参数为-0时,返回-0;

参数为负数时,返回-1;

参数为其他值时,返回NaN。

Math.max得到数组中最大值的更多相关文章

  1. 转载——JavaScript学习笔记:取数组中最大值和最小值

    转载自:http://www.w3cplus.com/javascript/calculate-the-max-min-value-from-an-array.html. 取数组中最大值 可以先把思路 ...

  2. JavaScript学习:取数组中最大值和最小值

    在实际业务中有的时候要取出数组中的最大值或最小值.但在数组中并没有提供arr.max()和arr.min()这样的方法.那么是不是可以通过别的方式实现类似这样的方法呢?那么今天我们就来整理取出数组中最 ...

  3. js获取数组中最大值,最小值

    遍历方法 var arr =[12,14,34,566,34,98,77] var max = arr[0]; for(var i=0;i<arr.length;i++){ if(max< ...

  4. Java实现 蓝桥杯 算法训练 寻找数组中最大值

    算法训练 寻找数组中最大值 时间限制:1.0s 内存限制:512.0MB 提交此题 问题描述 对于给定整数数组a[],寻找其中最大值,并返回下标. 输入格式 整数数组a[],数组元素个数小于1等于10 ...

  5. 找出数组中最大值and索引

    找出数组中的最大值和和最大值的索引位置..... 第一中方法: /** * 找出数组中最大值和最大值的索引 * @param args */ public static void main(Strin ...

  6. js获取数组中最大值和最小值

    var max = Math.max.apply(null, 数组); 获取最大值 var min = Math.min.apply(null, 数组);获取最小值 一句话获取数组中最大的数,最小数

  7. JavaScript 获取数组中最大值、最小值

    笨方法 Array.prototype.max = function() { var max = this[0]; var len = this.length; for (var i = 1; i & ...

  8. js获取数组中最大值

    1.es6拓展运算符... Math.max(...arr) 2.es5 apply(与方法1原理相同) Math.max.apply(null,arr) 3.for循环 let max = arr[ ...

  9. max取得数组的最大值

    var arr = [1,2,3,4,5,2,2,4,52,5,6,5,4,4]; var maxNum = Math.max.apply(Math,arr); var maxIndex = arr. ...

随机推荐

  1. 在文件夹右键菜单里添加“DOS 到这里”这个菜单项

    Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Drive\shell\cmd]@="DO ...

  2. lintcode---线段树查询||(区间元素个数)

    对于一个数组,我们可以对其建立一棵 线段树, 每个结点存储一个额外的值 count 来代表这个结点所指代的数组区间内的元素个数. (数组中并不一定每个位置上都有元素) 实现一个 query 的方法,该 ...

  3. laravel的cookie操作

    前提你的整个http流程一定要走完,页就是必须走到view()或Response,你写到中间中断调试,cookie是设置不上去的......(坑~~) 读取: $value = Cookie::get ...

  4. Go语言核心之美 4.3-多返回值

    在Go语言中.函数能够有多个返回值,这个特性我们已经在之前的样例见过非常多,非常多标准库函数都会返回两个值,一个是期望得到的函数执行结果,另外一个是函数出错时的错误值. 以下的程序是findlinks ...

  5. 取得COM对象的UUID并以string输出

    IID tmp = __uuidof(ClassLibrary1::Class1); OLECHAR * buf; StringFromIID(tmp, &buf); 好像要#include ...

  6. CYQ多数据库链接

     枚举名XXXEnum  对应XXXConn的配置数据库链接项 ,不多说,一看就明白!名字空间得要带上数据库名!

  7. 用EA生成实体层代码

    在个人版机房重构中.实体层的代码敲得有点儿烦了.不同的实体仅仅是命名不同.代码结构全然一样.遇到反复的事情,就该动动脑.想想办法了. 以下给大家介绍使用EA生成实体层的代码. 首先.建一个类,注意选择 ...

  8. svn add xxx.txt 提示A (bin) xxx.txt

    [root@NGINX-APACHE-SVN iptables]# svn ci -m "add iptables.txt" Adding (bin) iptables/iptab ...

  9. C# 改变无边框窗体尺寸大小的方法

    ; ; ; ; ; ; const int HTBOTTOMLEFT = 0x10; ; protected override void WndProc(ref Message m) { switch ...

  10. Xcode常见问题

    今天真机测试的时候,突然出现了这个错误:  not have an architecture that “Administrator”的 iPhone (3) can execute. 原因是我刚刚修 ...