【发布时间】:2018-05-05 04:18:48
【问题描述】:
我正在尝试复制服务器端数据库的一部分,以便在打字稿 Web 应用程序中进行处理。我需要通过打字稿中的整数 ID 访问各种记录。我看到的一个问题是索引可能不连续,也不以 0 开头(事实上,如果数据库的一部分已被删除,它们的开头值可能远高于零)。
给定以下代码:
let a: Array<number> = new Array<number>();
a[10] = 1;
a[11] = 2;
如果我在 Chrome 中检查 a,我会看到:
(12) [empty × 10, 1, 2]
这让我相信我已经为 12 个值分配了内存,但我只使用了最后 2 个。这对于小的起始索引来说没什么大不了的,但是如果我有数百万的第一个索引,并且正在使用数组中较大的对象,它可能会成为一个重要的内存问题。
我是否正确假设即使为未使用的索引也分配了内存?如果是这样,允许使用非连续索引的更好容器是什么?
【问题讨论】:
标签: javascript arrays typescript memory