如何在Javascript中预先分配密集数组?

Dom*_*omi 5 javascript arrays performance

当使用new Array(size)构造函数,如果size不是一个常数,JS似乎产生了一个稀疏数组在某些浏览器(至少在铬),造成访问是使用默认的构造函数时相比要慢得多,如图所示这里.

这与我想要的完全相反:我预先分配给定大小的数组,以避免动态重新分配,从而提高性能.有没有办法实现这个目标?

请注意,这个问题不是关于new Array(size)ctor 的模糊性.我在这里发布了一个推荐.

Esa*_*ija 4

100000 是超过预分配阈值的 1,99999 仍然可以预分配,正如你所看到的,速度要快得多

http://jsperf.com/big-array-initialize/5