1.生成指定范围的数字

在某些情况下,我们会创建一个处在两个数之间的数组。假设我们要判断某人的生日是否在某个范围的年份内,那么下面是实现它的一个很简单的方法

1
2
3
4
5
6
let start = 1900, end = 2000;
[...new Array(end + 1).keys()].slice(start);
// [ 1900, 1901, ..., 2000]
// 还有这种方式,但对于很的范围就不太稳定
 
Array.from({ length: end - start + 1 }, (_, i) => start + i);

2.使用值数组作为函数的参数

在某些情况下,我们需要将值收集到数组中,然后将其作为函数的参数传递。 使用 ES6,可以使用扩展运算符(...)并从[arg1, arg2] > (arg1, arg2)中提取数组:

1
2
3
4
5
6
7
const parts = {
 first: [0, 2],
 second: [1, 3],
}
 
["Hello", "World", "JS", "Tricks"].slice(...parts.second)
// ["World", "JS"]

3.将值用作 Math 方法的参数

当我们需要在数组中使用Math.max或Math.min来找到最大或者最小值时,我们可以像下面这样进行操作:

1
2
3
4
5
6
7
8
9
const elementsHeight = [...document.body.children].map(
 el => el.getBoundingClientRect().y
);
Math.max(...elementsHeight);
// 474
 
const numbers = [100, 100, -1000, 2000, -3000, 40000];
Math.min(...numbers);
// -3000

4.合并/展平数组中的数组

Array 有一个很好的方法,称为Array.flat,它是需要一个depth参数,表示数组嵌套的深度,默认值为1。 但是,如果我们不知道深度怎么办,则需要将其全部展平,只需将Infinity作为参数即可

最新文章

  1. linux几种快速清空文件内容的方法
  2. [转]响应式WEB设计学习(1)—判断屏幕尺寸及百分比的使用
  3. ASP.NET MVC ActionFilterAttribute的执行顺序
  4. View、ViewGroup (转)
  5. python:用json把字典序列化到文件中
  6. C++语言中cin cin.getline cin.get getline gets getchar 的用法实例
  7. Android四大组件之BroadcastReceiver
  8. group by java实现
  9. [HNOI2012] 矿场搭建
  10. linux命令-查看当前目录下所有文件的大小:“ll -h”
  11. 棋盘上的距离 - Grids1657
  12. JUnit之断言assert
  13. 【Android Developers Training】 82. 序言:传输数据时减少对电池寿命的影响
  14. 【转】python XML 操作总结(创建、保存和删除,支持utf-8和gb2312)
  15. error_reporting
  16. SQL随记(二)
  17. [maven] dependency标签理解
  18. Element-table-formatter格式化数据
  19. Tensorflow函数:tf.zeros
  20. vim窗口切换

热门文章

  1. 【题解】[JSOI2007]字符加密
  2. Flutter沉浸式状态栏/AppBar导航栏/仿咸鱼底部凸起导航
  3. nginx完美支持thinkphp3.2.2(需配置URL_MODEL=>1 pathinfo模式)
  4. 17.JAVA-常用总结
  5. C&C++代码单元集成测试培训
  6. MeteoInfoLab脚本示例:合并数组
  7. github 上传与删除项目
  8. 安装ipython
  9. 【转载】动态规划—各种 DP 优化
  10. 【KM算法】UVA 11383 Golden Tiger Claw