温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用JavaScript怎么批量创建数组

发布时间:2021-03-19 17:58:39 来源:亿速云 阅读:798 作者:Leah 栏目:web开发

本篇文章给大家分享的是有关使用JavaScript怎么批量创建数组,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

JavaScript有许多批量创建数组的方法,为了衡量它们的性能,我分别使用不同的方法创建一个长度为100000的数组,且键和值相等。同时,我定义了下面这个函数用来测量创建数组所耗费的时间:

 function t(fn) {
   var start = Date.now();
   fn.call(this);
   var end = Date.now();
   return (end - start) + 'ms';
}

以下为常用的几个创建数组的方法以及它们所耗费的时间:

使用join和split

使用JavaScript怎么批量创建数组

该方法把大量时间耗费在了map操作上,去掉map后只需要2ms

使用JavaScript怎么批量创建数组

使用apply

使用JavaScript怎么批量创建数组

这里用到了一个{ length: 100000 }伪数组,NodeList和arguments都是伪数组(array-like object),它们都不是真正意义上的数组,而是带有"length属性"并且同时具备"索引属性"的对象,不能直接使用数组的那些方法,而apply和call却可以接受这种伪数组。我们平时在用的Array.prototype.slice( arguments)就是基于这个原理。

这里把长度为100000的伪数组传递给Array函数,构造出了一个长度为100000的数组,然后再用map赋值。有同学可能要问了,为什么不直接Array(100000)生成数组,这是因为通过Array(100000)生成的数组每个值都为undefined,无法通过map遍历。

使用Array.from()

这是ES6新出的方法,可以将伪数组直接转换为数组

使用JavaScript怎么批量创建数组

如果把伪数组换成数组,速度下降了很多。

使用JavaScript怎么批量创建数组

使用Array.fill()

先用Array.fill()填充数组,之后再通过map依个赋值

使用JavaScript怎么批量创建数组

使用for循环

使用JavaScript怎么批量创建数组

我表示当时就惊呆了,还一直在检查是不是少打个0. 我表示不服,想用push试一下

使用JavaScript怎么批量创建数组

以上就是使用JavaScript怎么批量创建数组,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI