Javascript中Math.max和Math.max.apply的区别和用法详解
作者:Mingo-233 时间:2024-04-10 10:55:04
最近在做一个小案例的时候遇到了Math.max.apply这么一个用法,之前很少遇到过感觉挺有趣的,就记录一下。
1Math.max
语法: Math.max(n1,n2,n3,...,nX)
返回值:max() 方法可返回指定的参数中带有较大的值的那个数
var a = Math.max(1,2,3,4);
console.log(a); //4
但是如果数据是放在一个数组里面,此时就不能这样调用了。这时就用到apply方法
2Math.max.apply
apply() 方法调用一个函数。简单理解为调用函数的方式,但是它可以改变函数的 this 指向,同时用指定数组替换函数的参数。
语法:fun.apply(thisArg, [argsArray])
thisArg:在fun函数运行时指定的 this 值 ,可以为null,就是不设置指向
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
2.1Math.max.apply拓展案例
这里我再举一个应用案例———自动生成编号(自增)
说明: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 就能自动生成编号并且是自增的。
来源:https://www.cnblogs.com/mingo233/archive/2020/08/23/13548990.html
标签:Javascript,Math.max,Math.max.apply
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python装饰器详细介绍
2022-09-28 17:52:16
Python3爬虫RedisDump的安装步骤
2023-07-17 00:42:15
微信支付--签名错误问题的解决方法
2023-10-04 19:07:30
CSS实例教程:复合型CSS条状图表(下)
2010-01-23 12:52:00
mysql 8.0.15 winx64解压版图文安装教程
2024-01-16 08:22:32
![](https://img.aspxhome.com/file/2023/7/71087_0s.jpg)
MySQL数据库的触发器的使用
2024-01-19 07:17:37
python爬取豆瓣电影排行榜(requests)的示例代码
2022-10-16 02:18:46
![](https://img.aspxhome.com/file/2023/9/86249_0s.png)
浅析SQL Server 聚焦索引对非聚集索引的影响
2024-01-16 19:19:44
![](https://img.aspxhome.com/file/2023/0/94470_0s.png)
MYSQL常用命令与实用技巧
2024-01-22 05:22:25
教你漂亮打印Pandas DataFrames和Series
2022-11-10 19:08:56
![](https://img.aspxhome.com/file/2023/8/65848_0s.png)
解读ASP.NET 5 & MVC6系列教程(9):日志框架
2023-06-30 06:10:57
(X)HTML中最多余的元素标签
2008-06-15 15:48:00
TensorFlow自定义损失函数来预测商品销售量
2023-01-08 07:01:51
![](https://img.aspxhome.com/file/2023/4/101424_0s.png)
Python算法练习之二分查找算法的实现
2023-08-27 14:29:29
![](https://img.aspxhome.com/file/2023/8/104388_0s.jpg)
SQL事务用法begin tran,commit tran和rollback tran的用法
2012-01-05 18:58:51
Python程序中使用SQLAlchemy时出现乱码的解决方案
2022-11-07 23:19:28
PHP面向对象程序设计类的定义与用法简单示例
2023-11-22 17:31:17
不要忽略了颜色的可用性
2009-03-05 18:19:00
![](https://img.aspxhome.com/file/UploadPic/20093/5/01-24s.jpg)
Python中dumps与dump及loads与load的区别
2021-10-01 09:13:20
浅谈Laravel队列实现原理解决问题记录
2024-06-05 15:39:54