作者:安静哒发呆 | 来源:互联网 | 2023-08-31 10:33
web前端|js教程Array,push,unshiftweb前端-js教程从原理就可以知道,unshift的效率是较低的。原因是,它每添加一个元素,都要把现有元素往下移一个位置。
web前端|js教程
Array,push,unshift
web前端-js教程
从原理就可以知道,unshift的效率是较低的。原因是,它每添加一个元素,都要把现有元素往下移一个位置。但到底效率差异有多大呢?下面来测试一下。
测试环境的主要硬件:CPU T7100(1.8G);内存4G DDR2 667;硬盘5400转。主要软件:操作系统为Windows 7;浏览器为Firefox 3.6.9。测试代码:
免费试用网站源码,ubuntu错误提示不懂,python爬虫股票绘图,高校php,昆明seo技巧lzw
var arr = [ ], s = +new Date;
// push性能测试
for (var i = 0; i <50000; i++) {
arr.push(i);
}
console.log(+new Date - s);
s = +new Date;
arr = [ ];
// unshift性能测试
for (var i = 0; i <50000; i++) {
arr.unshift(i);
}
console.log(+new Date - s);
这段代码分别执行了50000次push和unshift操作,运行一次以后,得出结果:
12
1152
可见,unshift比push要慢差不多100倍!因此,平时还是要慎用unshift,特别是对大数组。那如果一定要达到unshift的效果,有没有其他方法呢?答案是肯定的。
Array有一个叫做reverse的方法,能够把一个数组反转。先把要放进数组的元素用push添加,再执行一次reverse,就达到了unshift的效果。比如:
手机版网站php源码,vscode设置每行字符数,vm ubuntu界面,tomcat没有超时框,郑州爬虫市场,php实现视频直播,荆门seo网络推广哪个好,小说CMS网站,dedecms粉色淘宝客手机模板lzw
for (var i = 0; i <50000; i++) {
arr.push(i);
}
arr.reverse();
reverse的性能又如何呢,下面再来测试:
app客户端源码分析,vscode多行选中上移,ubuntu麒麟 下载,修改tomcat权限不够,各种爬虫英语,php 微信发送被动,南充seo推广报价秒收录,手机股票网站源码,演示模板下载lzw
var arr = [ ], s = +new Date;
for (var i = 0; i <50000; i++) {
arr.push(i);
}
arr.reverse();
console.log(+new Date - s);
结果是:
12
可见,reverse性能极高,甚至于没有额外的消耗,可以放心使用。