美文网首页
求数组中的最大值、最小值 【appy】

求数组中的最大值、最小值 【appy】

作者: 4leafclover | 来源:发表于2019-08-13 11:05 被阅读0次
一、js中apply和Math.max()函数的问题
var numbers = [5, 6, 2, 3, 7];

var max = Math.max.apply(null, numbers);

console.log(max); // expected output: 7

var min = Math.min.apply(null, numbers);

console.log(min); // expected output: 2

解析:
apply 只能被函数调用Function.apply()其参数为:apply(Function, Args)
Function为要调用的方法,Args是参数列表,当Function为null时,默认为上文,即Math.max.apply(null, arr)

答案1:
可认为是
apply(Math.max, arr)
然后,arr是一个参数列表,对于max方法,其参数是若干个数,即
Math.max(a, b, c, d, ...)
当使用apply时,把所有参数加入到一个数组中,即
arr =  [a, b, c, d, ...]
代入到原式,
Math.max.apply(null, [a, b, c, d, ...])
实际上等同于
Math.max(a, b, c, d, ...)
在此处,使用apply的优点是在部分JS引擎中提升性能。
答案2:
Math.max()方法,支持传递多个参数,比如:Math.max(1,4,2,3,7,5,6)
 
但是它不支持直接传递一个数组作为参数,比如:Math.max(new Array(1,4,2,3,7,5,6))。
 
这里,只要我们有方法把数组,一个一个拆分开来,传递到Math.max()方法中,就实现了传递数组的方法。
 
所有函数都有apply(作用域链,参数)这个方法,这个函数的“参数”,接收一个数组,并且是将数组中的每个值,分开来,传递给调

查看原文

相关文章

  • jsday02

    数组 数组求最大值 数组求最小值 数组拼接成字符串 反转数组 冒泡排序 阻止链接跳转 数组的一些方法

  • 求数组中的最大值、最小值 【appy】

    一、js中apply和Math.max()函数的问题 解析:apply 只能被函数调用Function.apply...

  • 线性表最值问题

    找最小值 找最大值 顺序表求最大值 顺序表求最小值 带头结点单链表求最大值 带头结点单链表求最小值 q是 最大值/...

  • 2019-05-14

    日志文本筛选-sort awk 求最大值: 求最小值: 求和: 求平均值: 求最大值 求最大值 求最小值 中位数

  • function

    求任意数组的最大值 求任意数组的最小值 //求任意范围数字和 求任意数字的总和 // type 检测参数数据类型...

  • 找出数组中的最大值最小值,最小值必须在最大值前面

    给一个数组,找出数组中的最大值最小值,最小值必须在最大值前面,也就是说最小值的下标必须比最大值的下标小。 要求时间...

  • 数组的应用--最值问题

    查找数组中的最大值、最小值: 打印结果:

  • 子数组最大和最小值的差大等小于给定值(h1:1.1)

    给定数组arr和整数num,求arr的连续子数组中满足:其最大值减去最小值的结果大于num的个数。 大于   这是...

  • leetcode 题解

    1. 关于旋转数组 旋转数组求最小值,最大值,以及任意值:https://leetcode.windliang.c...

  • python:numpy数组常用的统计函数

    数据准备: 求和 求均值 求中值 求最大值和最小值 求极值(最大值和最小值之差)、 6、标准差

网友评论

      本文标题:求数组中的最大值、最小值 【appy】

      本文链接:https://www.haomeiwen.com/subject/uzkvjctx.html