博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript 中的借鸡生蛋
阅读量:5084 次
发布时间:2019-06-13

本文共 776 字,大约阅读时间需要 2 分钟。

如题所说,其实指的是 js 中的内置函数和 apply 的结合使用。这种用法很讨巧,读过 jQuery 源码的小伙伴都知道,它在里面被应用的非常广泛和精妙!

梨子:找出一个数组中的最大值和最小值

普遍的做法就是循环遍历数组,进行比较,写出来的代码看着像石榴姐一样,虽然是一个美女,但总感觉有点别扭,怎样把她变成像秋香一样优雅迷人呢?还记得 Math.max 吗

var numbers = [5, 6, 2, 3, 7];/* using Math.min/Math.max apply */var max = Math.max.apply(null, numbers); /* This about equal to Math.max(numbers[0], ...) or Math.max(5, 6, ..) */var min = Math.min.apply(null, numbers);

假如数组很大怎么办呢?把它切段循环传入

function minOfArray(arr) {  var min = Infinity;  var QUANTUM = 32768;  for (var i = 0, len = arr.length; i < len; i += QUANTUM) {    var submin = Math.min.apply(null, arr.slice(i, Math.min(i + QUANTUM, len)));    min = Math.min(submin, min);  }  return min;}var min = minOfArray([5, 6, 2, 3, 7]);

 

参考:MDN

转载于:https://www.cnblogs.com/kuangliu/p/5132767.html

你可能感兴趣的文章
Asp.NetCore取配置信息
查看>>
自动变量提示
查看>>
css中盒模型的理解与整理
查看>>
Thread.currentThread().getName() ,对象实例.getName() 和 this.getName()区别
查看>>
如果你是程序员,这些细节会害死你(3)
查看>>
xmlhttp的OnReadyStateChange事件
查看>>
python连接oracle数据库
查看>>
C++异常处理
查看>>
捕获键盘和鼠标的消息机制
查看>>
Csharp 简单操作Word模板文件
查看>>
laravel 配置设置
查看>>
常用linux命令
查看>>
git 代码更新
查看>>
eclipse转到idea过程中的基本设置...
查看>>
需求分析
查看>>
hadoop-maven项目打包成可执行的jar
查看>>
[欧拉回路][并查集] Bzoj P3706 反色刷
查看>>
Python学习之路:guess_rx_wan
查看>>
字符串转化为可执行的方法
查看>>
select和epoll学习总结
查看>>