不是很懂为什么Math.min.apply(null,everyHeight)能获取数组中的最小值?

不是很懂为什么Math.min.apply(null,everyHeight)能获取数组中的最小值?

不是很懂为什么 Math.min.apply(null,everyHeight) 能获取数组every中的最小值?

请问是怎么实现的?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好

  1. Math.min(), 方法接收的参数不能为数组,所以结合aplly方法,可以直接传入everyHeight数组,获取数组中的最小值

  2. apply()这个方法一共有2个参数,均为可选参数,第一个参数是要调用的对象,要调用的对象是谁,就在第一个参数中写上,如果没有调用的对象,直接写null,当参数为null的话,对象就指向了window 。第二个参数可以传入一个数组对象。

  3. 代码中,Math.min.apply(null,everyHeight)其中第一个参数null,这个是因为没有对象去调用这个方法,所以直接传递null过去,最后实现得到数组中最小的高度。

如果帮助到了你,欢迎采纳。

祝学习愉快!


  • ArmorCarrot 提问者 #1
    “最后实现得到数组中最小的高度” 主要就是不明白这里是怎么实现的...
    2019-03-27 14:25:14
  • ArmorCarrot 提问者 #2
    Math.min()不能找数组所以用了apply()这个方法,但是搞不太清楚apply()这个方法究竟返回了什么东西能让min()方法找到数组中的最小值
    2019-03-27 14:49:21
  • 好帮手慕慕子 回复 提问者 ArmorCarrot #3
    同学你好,apply方法不是返回了什么, 而是当一个函数调用了apply()这个方法时, 会将传入的数组作为参数传递给这个函数。 例如:var arr = [7, 9, 19, 6] Math.min(1, 5, 6, 7)  // 1 Math.min.apply(null, arr) // 6  上面这几行代码显示, 直接调用Math.min()需要传入多个参数, 使用apply()方法可以直接将数组一个作为参数传给Math.min()
    2019-03-27 16:27:57
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师