我有一种情况,我可能正在设置一个高索引的数组单元格,而没有设置它之前的任何单元格。
>>> var arr = [];
undefined
>>> arr[5] = 'value';
"filled"
>>> arr
[undefined, undefined, undefined, undefined, undefined, "filled"]
这样的数组是如何存储在内存中的?是否为每个未定义的值分配了空间?
在我的实际项目中,我可能会使用非常大的索引。例如,我可以设置单元格 500-800 和 900-1000。我不能使用哈希,因为我需要遍历这些非空单元格并注意它们的索引。我想知道像这样分割数组是否会为空单元格占用大量内存。