理解 Math.max(min).apply 获取数组中的最大(小)值机制
前言…
阿姆斯特朗回旋加速喷气式阿姆斯特朗炮, 还原度还真高呢 >-<
了解 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. 获取数组中某个字段的值或获取列表索引
最近开始自己琢磨开发微信小程序,遇到些问题,现在做一下总结. 今天有遇到一个需要获取到列表中某一项值,并在其他地方调用的问题.其实思路和获取列表索引的道理一样.如果你还不知道如何获取列表的索引,那么现 ...
- 编写程序,从键盘输人 10个整数,之间以一个空格隔开,存放在一维数组中。找出值最大和最小的元素,第一行输出最大值及其所在的元素下标,之间以一个空格隔开;第二行输出最小值及其所在的元素下标,之间以一个空
题目:编写程序,从键盘输人 10个整数,之间以一个空格隔开,存放在一维数组中.找出值最大和最小的元素,第一行输出最大值及其所在的元素下标,之间以一个空格隔开;第二行输出最小值及其所在的元素下标,之间以 ...
- js获取数组中最大和最小值
文章目录 1. 排序法 2. 假设法 3. 使用 Math 中的 max/min 方法 4. 使用ES6的扩展运算符 1. 排序法 // 数组中获取最大和最小值compareMaxMin() {con ...
- JS 08——①遍历数组, 获取数组最大值 ②遍历数组,获取数组最小值③遍历数组,判断数组中 是否有某个值
1.遍历数组,获取最大值 <script>//定义一个函数 名叫getMax//定义一个临时数组 名字叫tempArrfunction getMax(tempArr){//typeof 获 ...
- php 获取数组最小值,php 获取数组中最小的值与键名的方法
上一篇博文说的是php获取数组中最大的值与键名的方法,那么这篇博文就说一下php获取数组中最小的值与键名的方法.获取数组中最小的值可以使用php中的预设函数 min() ,其使用方法也非常的简单. p ...
- python获取数组中最多的元素
获取数组中数量最多的元素,也就是最频繁的那个元素,方法有很多,下面是3种最简单的: 1.用max函数 sample = [1,2,3,3,3,4,5,5] max(set(sample), key=s ...
- scala 获取数组中元素_从Scala中的元素列表中获取随机元素
scala 获取数组中元素 We can access a random element from a list in Scala using the random variable. To use ...
- java中定义一个数组,获取数组中的最大值和最小值
思路 : 我们定义一个数组,再定义一个max变量 用来存在最大值 : 再定义一个min变量,用来存在最小值: 我们遍历数组,假如当前值大于max,就把当前值赋值给max; 假如当前值小于min,就把 ...
- php 取出多重数组中的一列_PHP获取数组中指定的一列实例
对于一个多维数组(以二维数组为例),经常需要获取到其中的一列,比如有几条用户数据,是一个二维数组,现在需要获取到这几个用户的名字,可以有多种方法实现: $arr = array( array( 'id ...
最新文章
- 【转】商业内幕(Business Insider)网站近期评出了全美20家最具创新力的科技创业公司...
- postgresql数据库用户名密码验证失败
- Latex快速入门系列 -- 在TexStudio中正确插入参考文献的基本操作
- Django-2- 模板路径查找,模板变量,模板过滤器,静态文件引用
- 4188元起!华为P40系列国行版发布:买它?
- c语言 结构体的,c语言之结构体
- ActionT 委托
- 机器学习周志华第三章笔记
- 重构:改善既有代码的设计 阅读笔记
- 项目开发流程_【直播回放】房地产开发项目全流程全税种税收筹划
- Kubernetes 中进行 PVC 的扩容
- 1. C语言的第一个程序
- 手写数字识别系统(python+K-近邻完整代码)
- R语言-南丁格尔玫瑰图
- shader 法线UV扭曲(类似金箔纸效果)(SurfaceShader)
- 七、使用OpenCV徒手实现:RGB转HSI,并提取红色
- idea中用java不能自动导包的解决办法
- 大数据常见函数及案例实战
- 业务运营指标体系(转载)
- 编写Java程序,使用Swing事件处理机制实现用户登录和英雄信息显示
热门文章
- php压缩图片大小尺寸
- 已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Long异常的正确
- 高通camera驱动 camx相关内容 (二)
- vc查看进程PID和关闭进程方法
- JVM之垃圾回收机制
- 【2022版】Spring面试题整理(含答案解析)
- 网文广告火出圈,“歪嘴战神”能拯救网文界的颓势吗?
- 快鲸scrm系统:助力母婴门店实现私域长效增长
- spring官方免费下载教程
- Spring的下载与配置