Array 的三个技巧

发布时间:2019-08-14 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Array 的三个技巧脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

每天学习一个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') // or
method('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]

脚本宝典总结

以上是脚本宝典为你收集整理的Array 的三个技巧全部内容,希望文章能够帮你解决Array 的三个技巧所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。