码迷,mamicode.com
首页 > 编程语言 > 详细

JS性能探讨:往数组中添加项

时间:2015-02-21 06:32:33      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:

比较了4种可以向数组添加项的方法之间的性能:

使用索引器添加

console.time("index");
var a = [];
for (var i = 0, l = times; i < l; i++) {
    a[i] = i;
}
console.timeEnd("index");

使用push方法

console.time("push");
var a = [];
for (var i = 0, l = times; i < l; i++) {
    a.push(i);
}
console.timeEnd("push");

使用concat方法

console.time("concat");
var a = [];
for (var i = 0, l = times; i < l; i++) {
    a.concat(i);
}
console.timeEnd("concat");

使用concat方法,参数为数组

console.time("concat with array");
var a = [];
for (var i = 0, l = times; i < l; i++) {
    a.concat([i]);
}
console.timeEnd("concat with array");

把times设置为10000(万)次:

index: 0.310ms
push: 1.476ms
concat: 8.911ms
concat with array: 2.261ms

把times设置为100000(十万)次:

index: 1.967ms
push: 11.980ms
concat: 70.410ms
concat with array: 28.292ms

把times设置为1000000(百万)次:

index: 138.559ms
push: 93.074ms
concat: 608.768ms
concat with array: 243.371ms

把times设置为10000000(千万)次:

index: 1473.733ms
push: 611.636ms
concat: 6058.528ms
concat with array: 2431.689ms

总结

  • concat方法的执行效率是最慢的
  • 相比两种concat方法的传参,当接受参数为数组时,执行效率要高于接受参数为非数组
  • 索引器多数情况下执行效率要高于push方法
  • 当执行次数越来越多时,索引器的执行效率开始不如push方法

JS性能探讨:往数组中添加项

标签:

原文地址:http://my.oschina.net/leogao0816/blog/379434

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!