前言…

阿姆斯特朗回旋加速喷气式阿姆斯特朗炮, 还原度还真高呢 >-<

了解 apply 传入参数机制

//模拟 Math.max 方法
function Math_max(num1, num2, num3) {console.log(num1)console.log(num2)console.log(num3)
}
var arr = [36, 27, 59]
// 当直接传入数组的时候,输出 [36, 27, 59] undefined undefined 相当于传入一个参数
Math_max(arr)
// 当调用 apply 方法后,输出 36,27, 59, 相当于传入三个参数
Math_max.apply(null, arr)

apply 方法的最主要的作用是改变当前函数的 this 指向,还有一个作用就是将数组中的元素一个一个的当做参数传入方法,apply 方法和 call 方法基本相同, 此处 Math_max.apply(null, arr) 和Math_max.apply(null, 36, 27, 59) 相同, 所以当我们调用 apply 方法的时候,相当于把数组中的元素挨个当做参数传入方法中,这也就解决了 Math.max(min) 不能直接获取数组中的最大(小)值问题了

改变 this 指向对 Math.max(min).apply 无影响

function foo() {//someFunction}var o = {//someProperty}var values = [10, 20, 50, 14, 21] // Math.max 函数体内的 this 对象指向 ovar result_1 = Math.max.apply(o, values)// Math.max 函数体内的 this 对象指向 foovar result_2 = Math.max.apply(foo, values)// Math.max 函数体内的 this 对象指向空对象var result_3 = Math.max.apply(null, values)console.log(result_1) //50console.log(result_2) //50console.log(result_3) //50

用 Math.max(min).apply() 获取数组中的最大(小)值

var arr = [20, 30, 24, 16, 52]
console.log(Math.max.apply(null, arr)) //52
console.log(Math.min.apply(null, arr)) //16
// 此处 apply() 方法的第一个参数可以是 null, 可以是数组、对象、方法

第一次写博客,这是我对 Math.max(min).apply() 的理解,有不正确的地方请大家指出

理解 Math.max(min).apply 获取数组中的最大(小)值机制相关推荐

  1. 小程序开发--- 1. 获取数组中某个字段的值或获取列表索引

    最近开始自己琢磨开发微信小程序,遇到些问题,现在做一下总结. 今天有遇到一个需要获取到列表中某一项值,并在其他地方调用的问题.其实思路和获取列表索引的道理一样.如果你还不知道如何获取列表的索引,那么现 ...

  2. 编写程序,从键盘输人 10个整数,之间以一个空格隔开,存放在一维数组中。找出值最大和最小的元素,第一行输出最大值及其所在的元素下标,之间以一个空格隔开;第二行输出最小值及其所在的元素下标,之间以一个空

    题目:编写程序,从键盘输人 10个整数,之间以一个空格隔开,存放在一维数组中.找出值最大和最小的元素,第一行输出最大值及其所在的元素下标,之间以一个空格隔开;第二行输出最小值及其所在的元素下标,之间以 ...

  3. js获取数组中最大和最小值

    文章目录 1. 排序法 2. 假设法 3. 使用 Math 中的 max/min 方法 4. 使用ES6的扩展运算符 1. 排序法 // 数组中获取最大和最小值compareMaxMin() {con ...

  4. JS 08——①遍历数组, 获取数组最大值 ②遍历数组,获取数组最小值③遍历数组,判断数组中 是否有某个值

    1.遍历数组,获取最大值 <script>//定义一个函数 名叫getMax//定义一个临时数组 名字叫tempArrfunction getMax(tempArr){//typeof 获 ...

  5. php 获取数组最小值,php 获取数组中最小的值与键名的方法

    上一篇博文说的是php获取数组中最大的值与键名的方法,那么这篇博文就说一下php获取数组中最小的值与键名的方法.获取数组中最小的值可以使用php中的预设函数 min() ,其使用方法也非常的简单. p ...

  6. python获取数组中最多的元素

    获取数组中数量最多的元素,也就是最频繁的那个元素,方法有很多,下面是3种最简单的: 1.用max函数 sample = [1,2,3,3,3,4,5,5] max(set(sample), key=s ...

  7. scala 获取数组中元素_从Scala中的元素列表中获取随机元素

    scala 获取数组中元素 We can access a random element from a list in Scala using the random variable. To use ...

  8. java中定义一个数组,获取数组中的最大值和最小值

    思路 : 我们定义一个数组,再定义一个max变量 用来存在最大值  : 再定义一个min变量,用来存在最小值: 我们遍历数组,假如当前值大于max,就把当前值赋值给max; 假如当前值小于min,就把 ...

  9. php 取出多重数组中的一列_PHP获取数组中指定的一列实例

    对于一个多维数组(以二维数组为例),经常需要获取到其中的一列,比如有几条用户数据,是一个二维数组,现在需要获取到这几个用户的名字,可以有多种方法实现: $arr = array( array( 'id ...

最新文章

  1. 【转】商业内幕(Business Insider)网站近期评出了全美20家最具创新力的科技创业公司...
  2. postgresql数据库用户名密码验证失败
  3. Latex快速入门系列 -- 在TexStudio中正确插入参考文献的基本操作
  4. Django-2- 模板路径查找,模板变量,模板过滤器,静态文件引用
  5. 4188元起!华为P40系列国行版发布:买它?
  6. c语言 结构体的,c语言之结构体
  7. ActionT 委托
  8. 机器学习周志华第三章笔记
  9. 重构:改善既有代码的设计 阅读笔记
  10. 项目开发流程_【直播回放】房地产开发项目全流程全税种税收筹划
  11. Kubernetes 中进行 PVC 的扩容
  12. 1. C语言的第一个程序
  13. 手写数字识别系统(python+K-近邻完整代码)
  14. R语言-南丁格尔玫瑰图
  15. shader 法线UV扭曲(类似金箔纸效果)(SurfaceShader)
  16. 七、使用OpenCV徒手实现:RGB转HSI,并提取红色
  17. idea中用java不能自动导包的解决办法
  18. 大数据常见函数及案例实战
  19. 业务运营指标体系(转载)
  20. 编写Java程序,使用Swing事件处理机制实现用户登录和英雄信息显示

热门文章

  1. php压缩图片大小尺寸
  2. 已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Long异常的正确
  3. 高通camera驱动 camx相关内容 (二)
  4. vc查看进程PID和关闭进程方法
  5. JVM之垃圾回收机制
  6. 【2022版】Spring面试题整理(含答案解析)
  7. 网文广告火出圈,“歪嘴战神”能拯救网文界的颓势吗?
  8. 快鲸scrm系统:助力母婴门店实现私域长效增长
  9. spring官方免费下载教程
  10. Spring的下载与配置