相关疑难解决方法(0)

如何将某些内容附加到数组中?

如何在JavaScript中将对象(如字符串或数字)附加到数组?

javascript arrays append

2895
推荐指数
23
解决办法
299万
查看次数

为什么array.push有时比array [n] = value更快?

作为测试一些代码的副作用,我编写了一个小函数来比较使用array.push方法与直接寻址(array [n] = value)的速度.令我惊讶的是,推送方法通常表现得更快,特别是在Firefox中,有时在Chrome中.只是出于好奇:任何人都有解释吗?您可以在此页面找到测试(单击"数组方法比较")

javascript browser arrays performance firefox

69
推荐指数
4
解决办法
3万
查看次数

为什么push方法比在Javascript中通过数组索引放置值要慢得多

我很不明白为什么这个测试:

http://jsperf.com/push-method-vs-setting-via-key

显示出来

 a.push(Math.random());
Run Code Online (Sandbox Code Playgroud)

比...慢十倍

 a[i] = Math.random();
Run Code Online (Sandbox Code Playgroud)

你能解释一下为什么会这样吗?什么魔法"推"使它变得如此之慢?(与其他有效的方法相比,这种方法很慢).

编辑

注意:推送测试是有偏见的.我每次迭代都会增加数组的大小!阅读仔细接受的答案!

基准测试结果

javascript arrays performance benchmarking hashtable

12
推荐指数
1
解决办法
8849
查看次数