那天晚上我正在阅读关于阵列内部运作的这篇文章,并从所发布的答案中学到了很多,尤其是乔纳森·霍兰德的答案.
因此,事先给出数组大小的原因是需要事先保留空间,以便数组中的元素将在内存中彼此相邻放置,从而提供O(1)访问时间,因为pointer + offset
遍历.
但是在JavaScript中,你可以像这样初始化一个数组:
var anArray = []; //Initialize an empty array, without a dimension
所以我的问题是,因为在JavaScript中你可以初始化一个数组而不预先指定一个维度,为数组分配的内存如何仍然提供O(1)访问时间,因为事先没有指定内存位置的"数量"?