最近在做一个小案例的时候遇到了Math.max.apply这么一个用法,之前很少遇到过感觉挺有趣的,就记录一下。
语法: Math.max(n1,n2,n3,...,nX)
返回值:max() 方法可返回指定的参数中带有较大的值的那个数
var a = Math.max(1,2,3,4);
console.log(a); //4
但是如果数据是放在一个数组里面,此时就不能这样调用了。这时就用到apply方法
apply() 方法调用一个函数。简单理解为调用函数的方式,但是它可以改变函数的 this 指向,同时用指定数组替换函数的参数。
语法:fun.apply(thisArg, [argsArray])
这里额外补充一下,传递的值为数组形式,但是数组里是什么类型参数,返回的也是什么类型,比如输入的数组中是字符串这里取到的就是字符串,是数值取到的就是数值。比如传‘abc’ 返回的也是‘abc’。(补充说明)
返回值:apply() 方法的返回值就是函数的返回值,因为它就是调用函数
var arr = [1, 66, 3, 99, 4];
var max = Math.max.apply(Math, arr);
var min = Math.min.apply(Math, arr);
console.log(max); //99
console.log(min); //1
这里我再举一个应用案例———自动生成编号(自增)
说明:data为一个json数组,里面的每个对象都一个id值
let maxBookCode = ()=>{
let arr = [];
//遍历json数组,把所有对象的id存到arr这个空数组当中
data.forEach((item)=>{
arr.push(item.id);
});
//最后返回里面id值最大的那个数
return Math.max.apply(null,arr);
}
外部调用 maxBookCode() + 1 就能自动生成编号并且是自增的。
本文作者:Mingo-233
本文链接:https://www.cnblogs.com/mingo233/p/13548990.html
s中Math.round()是一个数值实现“四舍五入”的方法,在msdn和w3school文档中是理解为:把一个数字舍入为最接近的整数。在我们实际应用中:math.round(-11.6)的结果为-12这个好理解,但是math.round(-11.5)返回值为什么是-11而不是-12呢?
Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1);生成n-m,包含n但不包含m的整数: 第一步算出 m-n的值,假设等于w ,第二步Math.random()*w
语法Math.abs(x) // 必需。必须是一个数值。示例,在项目中使用的方法 上传图片;关键代码
Math.random() 返回 0(包括) 至 1(不包括) 之间的随机数:Math.random() 与 Math.floor() 一起使用用于返回随机整数。正如你从上面的例子看到的,创建一个随机函数用于生成所有随机整数是一个好主意。
JavaScript中的math 对让我们能够对执行一些数学操作。 它具有数学常数和函数的属性和方法。 在今天的文章中将介绍 Math对象的一些有用方法。Math.min()是 JS 数学库中的函数,用于将所有传递的值中的最小值返回给该方法。
Math.max() 是 JS 内置的方法,可以从传入的参数中,返回最大的一个。如果Math.max()只使用一个参数,结果是怎么样的?正如预期的那样,一个数字的最大值就是它本身。
提到 Math.random() 的安全风险,有开发人员会说因为 Math.random() 返回的是伪随机数。这个解释似是而非,和伪随机数没有关系, getRandomValue() 方法返回的也是伪随机数。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!