在 Javascript 中,如果我做类似的事情
var alpha = [];
alpha[1000000] = 2;
这会以某种方式浪费内存吗?我记得读过一些关于仍然为未指定索引设置值的 Javascript 数组(也许将它们设置为未定义?),但我认为这可能与删除有关。记不清了。
最佳答案
查看此主题: are-javascript-arrays-sparse
在大多数 Javascript 实现(可能是所有现代的)中,数组都是稀疏的。这意味着不,它不会将内存分配到最大索引。
如果它类似于 Lua 实现,则实际上有一个内部数组和字典。来自起始索引的密集填充部分将存储在数组中,稀疏部分存储在字典中。
关于javascript - 如果我只在数组中设置一个高索引,它会浪费内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4524067/