javascript - 如果我只在数组中设置一个高索引,它会浪费内存吗?

标签 javascript arrays memory

在 Javascript 中,如果我做类似的事情

var alpha = [];
alpha[1000000] = 2;

这会以某种方式浪费内存吗?我记得读过一些关于仍然为未指定索引设置值的 Javascript 数组(也许将它们设置为未定义?),但我认为这可能与删除有关。记不清了。

最佳答案

查看此主题: are-javascript-arrays-sparse

在大多数 Javascript 实现(可能是所有现代的)中,数组都是稀疏的。这意味着不,它不会将内存分配到最大索引。

如果它类似于 Lua 实现,则实际上有一个内部数组和字典。来自起始索引的密集填充部分将存储在数组中,稀疏部分存储在字典中。

关于javascript - 如果我只在数组中设置一个高索引,它会浪费内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4524067/

相关文章:

c++ - 将大型成员对象移出类?

javascript - Three.js:边界框奇怪的行为

javascript - 如何使用 javascript 在 div 上移动对象?

javascript - 为数组索引赋予属性的问题

c - 功能段错误

R : Any other solution to "cannot allocate vector size n mb" in R?

javascript - 在浏览器关闭之前提示用户?

javascript - 通过ajax发送blob数据

arrays - 无法强制解开非可选类型 'String'的值

android - android内存泄漏背后的逻辑