找出数字数组中最大的元素(使用Math.max函数)

汤姆大叔的博客里看到了6个基础题目:本篇是第1题 - 找出数字数组中最大的元素(使用Match.max函数)

从要求上来看,不能将数组sort、不能遍历。只能使用Math.max,所以只能从javascript的特征和本质方面着手。

分析:查找列表是一个数组,那么意味着我们要传入一个数组参数给Math.max,但是Math.max只能传入枚举参数,如下:

Math.max(n1, [n2, [n3, [...]]])

有什么方法可以传入一个数组并将这个数组中的每个元素一一传递给Math.max呢?我想到的是Javascript中的call和apply方法,call只能传递枚举参数,apply必须传递一个数组,且apply会将该数组的每一个元素一一枚举给其调用者,如此问题就解开了,我的代码如下:

var arr = [1,9,4,5,12,-1];
console.log( Math.max.apply(this, arr) ); //12

解此题的要求是:能搞懂call和apply两个方法,此处不详解,不明白者请自行百度!

转载于:https://www.cnblogs.com/langzs/p/6637033.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值