我在解决算法问题时想到了这个问题。
例如:
const arr = [];
arr[100] = 1;
如果只压入索引 100 的值,数组会分配多少内存? 100 个元素还是 1 个?
如果有文档链接
在控制台中进行快速测试,结果如下:
arr[100] = 1
console.log(arr)
// prints: (101) [empty × 100, 1]
根据这篇文章,每个空槽占用 8 个字节,平均占用 9.72 个字节和 48 个字节的开销:
https://www.mattzeunert.com/2016/07/24/javascript-array-object-sizes.html
总共大约 857.72 字节。