博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Array 的三个技巧
阅读量:5912 次
发布时间:2019-06-19

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

每天学习一个JS小知识

1. 迭代一个空数组

JavaScript 中直接创建的数组是松散的,以至于会有很多坑。试着用数组的构造方法创建一个数组,你就会明白我的意思。

const arr = new Array(4);[undefined, undefined, undefined, undefined]

你会发现,通过一个松散的数组去循环调用一些转换是非常难的。

const arr = new Array(4); arr.map((elem, index) => index);[undefined, undefined, undefined, undefined]

想要解决这个问题,你可以使用在创建新数组的时候使用 Array.apply。

const arr = Array.apply(null, new Array(4));arr.map((elem, index) => index);[0, 1, 2, 3]

2. 给方法传一个空参数

如果你想调用一个方法,并不填其中的一个参数时,JavaScript 就会报错。

method('parameter1', , 'parameter3');Uncaught SyntaxError: Unexpected token

我们常用的解决方法是传递 null 或 undefined.

method('parameter1', null, 'parameter3') // ormethod('parameter1', undefined, 'parameter3');

自从 JavaScript 把 null 当做一个 object 的时候。根据 ES6 中对扩展运算符的介绍,有一个更简洁的方法可以将空参数传递给一个方法。正如前文所提到的,数组是松散的,所以给它传空值是可以的,我们正式用到了这个优点。

method(...['parameter1', , 'parameter3']); // works

数组去重

我一直不明白为什么数组不提供一个内置函数可以让我们方便的取到去重以后的值。扩展运算符帮到了我们,使用扩展运算符配合 Set Spread operators are here for the rescue. Use spread operators with the Set 可以生成一个不重复的数组。

const arr = [...new Set([1, 2, 3, 3])];[1, 2, 3]

转载地址:http://utmpx.baihongyu.com/

你可能感兴趣的文章
使用instantclient_11_2 和PL/SQL Developer工具包连接oracle 11g远程数据库
查看>>
1.html5 学习要求,Html 5发展历程
查看>>
opengl微开发之1-从零開始
查看>>
mac下设置redis开机启动方法
查看>>
三角函数
查看>>
Third glance in Go
查看>>
如何用Unity GUI制作HUD
查看>>
Javascrpt无刷新文件上传
查看>>
JS移动客户端--触屏滑动事件 banner图效果
查看>>
由于管理员设置的策略,该磁盘处于脱机状态-Win 2008 R2
查看>>
使用注册表优化终端、编辑器的中英字体混合显示,如「Consolas + 雅黑」「Monaco + 雅黑」...
查看>>
【canvas】基础练习一 图形
查看>>
Python 中 open()文件操作的方式
查看>>
SQL Cursor 基本用法
查看>>
linux 切分文件
查看>>
英语论文中怎么正确地写计量单位
查看>>
解读ASP.NET 5 & MVC6系列(8):Session与Caching
查看>>
构造AJAX参数, 表单元素JSON相互转换
查看>>
unity, 查看资源文件类型
查看>>
2015 百度之星 1003 序列变换 二分
查看>>